数组提升效率的几种操作


let arr = [2, 4, 6, 8, 6, 2]
  1. 数组置空
    如果使用arr = [ ] :之前数组的内容依旧保存在内存中,数据较大时,会导致内存泄漏
let newArr = [9].concat(arr)
console.log(newArr)    //[9, 2, 4, 6, 8, 6, 2]

3.在尾部插入数据

console.log(new Set(arr));     //{ 2, 4, 6, 8 }
//对象转数组
console.log(Array.from(new Set(arr)));  //[ 2, 4, 6, 8 ]

5.复制数组 简单类型:深拷贝

let arr2 = ['张三', '李四', '王五', '赵六', '张三', '李四']
let arr3 = ['小米', '小明', '小红', '小绿', '张三', '李四']
jiao = [...new Set(arr2)].filter(item => arr3.includes(item))  
console.log(jiao);  //[ '张三', '李四' ]

7.获取数组的随机值

console.log(arr.lastIndexOf(6));  //4

9.实现字符串倒序

let arr2 = ['张三', '李四', '王五', '赵六', '张三', '李四']
arr2.splice(1, 3, '替换值1', '替换值2', '替换值3',)
console.log(arr2);     //[ '张三', '替换值1', '替换值2', '替换值3', '张三', '李四' ]
arr2.splice(0, 1)   //不传入第三位及以后的值时代表删除数据
console.log(arr2);

11.遍历数组

let arr4 = ['小米', '', false, ' ', undefined, 0, NaN, true]
console.log(arr4.filter(Boolean));  //[ '小米', ' ', true ]

13.数组求和

let arr2 = ['张三', '李四', '王五', '赵六', '张三', '李四']
console.log(arr2.reduce((a, b) => a + b));  //'张三李四王五赵六张三李四'
console.log(arr.reduce((a, b) => a + b));   //28
    4人点赞   随笔    

作者:落墨诗卷
链接:https://www.jianshu.com/p/2972c53a3ee8
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。