
javaScript
Sugar阿
都是自己平常项目积累的 有不对的 请指点出来 我会及时改正 大家一起学习进步
展开
-
函数的防抖与节流
**函数防抖**: 指在事件被触发 n 秒后再执行回调,如果在这 n 秒内事件又被触发,则重新计时。这可以使用在一些点击请求的事件上,避免因为用户的多次点击向后端发送多次请求。**函数节流**:指规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。节流可以使用在 scroll 函数的事件监听上,通过事件节流来降低事件调用的频率。函数防抖的实现: function debounce(fn, wait) { var ti原创 2021-05-18 16:21:11 · 159 阅读 · 0 评论 -
计算数组的长度
function arrLength(arr) { var len = 0; for (var i = 0; i < arr.length; i++) { len += Array.isArray(arr[i]) ? arrLength(arr[i]) : 1 } return len }console.log(arrLength([1,2,3,4,5]))原创 2021-03-18 19:21:19 · 159 阅读 · 0 评论 -
var let const 的区别与联系
1、var声明变量存在变量提升,let和const不存在变量提升console.log(a); // undefined ===> a已声明还但是没赋值,默认得到undefined值var a = 10;console.log(b); // 报错:b is not defined ===> 找不到b这个变量let b = 10;console.log(c); // 报错:c is not defined ===> 找不到c这个变量const c = 10;2、l原创 2021-03-10 18:32:41 · 137 阅读 · 0 评论 -
判断字符串中字母出现最多的次数
var str = 'abbcccddddfffff' // 先转换成数组 var newArr = str.split(''); // 创建一个对象 var json = {}; // 遍历数组 判断对象中是否存在数组中的值 存在 值+1 不存在则赋值为1 for (var i = 0; i < newArr.length; i++ ) { if(json[newArr[i]]) { json[newArr[i]] += 1; ..原创 2021-03-10 10:44:07 · 414 阅读 · 0 评论 -
引用数据类型的深拷贝方法
数组以下方法来实现一维数组的深拷贝,但这种方法只适用于一维数组,对多维数组无效1、for 循环实现数组的深拷贝for循环是非常好用的。如果不知道高级方法,通过for循环能够完成我们大多数的需求。代码如下: var arr = [1,2,3,4,5] var arr2 = copyArr(arr) function copyArr(arr) { let res = [] for (let i = 0; i < arr.length; i++) { res.push原创 2020-12-28 16:45:22 · 806 阅读 · 1 评论 -
js数组去重方法
1、利用 ES6的set 方法。代码如下function unique1(arr) { //Set数据结构,它类似于数组,其成员的值都是唯一的 return Array.from(new Set(arr)); // 利用Array.from将Set结构转换成数组}console.log(unique1([1, 1, 2, 3, 5, 3, 1, 5, 6, 7, 4]));2、利用数组的indexOf下标属性来查询。代码如下function unique2(arr) { var原创 2020-12-28 17:42:28 · 157 阅读 · 0 评论