首页
学习
活动
专区
圈层
工具
发布

记录常见的一些算法

常见的一些算数方法

1.字符串中各个字符串出现的次数

reduce 对于低版本兼容性不是很好,

可以用下面的方法

2.阻止事件冒泡

3.判断数据类型

typeof

返回的是变量的数据类型,但是不能区分数组和对象

instanceof

判断变量是数组还是对象,返回true和false

Array.isArray()

判断变量是不是数组,返回true和false

4.在console.log()中加上前缀,‘iphone’封装log函数

初步封装

第二次封装,怎么才能在参数前面加前缀

也可以下面的写法

5.数组排序

第一种 (二分法排序)

二分法的搜索(需要先对数组进行排序)

第二种冒泡排序

第三种数组内置的排序

6.数组的去重

7.对象的深拷贝问题

代码如下,实现对象的深拷贝

拷贝分为深拷贝和浅拷贝,拷贝就是把父对象的属性全部拷贝给子对象。

浅拷贝只是把对象的第一层属性拷贝下来,如果第一层中有复杂数据类型,只是拷贝的指针,如果父属性的属性变化也会导致拷贝的子对象的属性变化,这有时是不需要的。

上面的代码实现的是使用递归实现的深拷贝,也可以使用先转成简单类型,再使用转换成复杂类型。

另外一种对象深拷贝

8.判断类型的封装

9.金额格式化

10.lazyMan

11.防抖节流

在项目中一般会遇到防止多次点击的情况,这种情况以前处理的时候是使用一个开关,后来研究了下防抖这种方法,在这里记录下

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180418G0E0SH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券