本文举例说明了JS学习笔记中阵列重复数据删除的实现方法。分享给大家参考,如下:
操作数组
设arr=[0,1,23,' 1 ',4,2,8,5,5,6,9,' asdasd ',' 5'] 1。使用ES6集执行阵列重复数据消除
console.time('set ')让type 1=new Set(arr)console . log(type 1)type 1=[.type 1]console . log(type 1)console . time end(' set ')
2.使用indexof和forEach搜索相同的值
Console.time('的索引')让类型2=[] arr.foreach(函数(项,索引){if (type2.index of(项)0) {type2.push(项)}}) console.log(类型2) console.time end('的索引')3
splice()方法在数组中添加/删除项,然后返回删除的项。
缺点会影响元素组,建议先复制数组
console.time('splice ')让arr2=[0,1,23,' 1 ',4,2,8,5,5,6,9,' asdasd ',' 5'] for(让I=0;IAR 2 . length;i ){ for(让j=I ^ 1;jarr2 .长度;j){ if(arr 2[I]===arr 2[j]){ arr 2 . splice(I,1)} } console . log(arr 2)console . timeend(' splice ')4、
阵列重复数据消除是利用对象属性和类型不重复的特性实现的
Console.time('obj attribute ')让obj1={}让type4=[] arr.foreach(函数(项,索引){让TF=项的类型if(!obj 1[TF ' _ ' item]){ obj 1[TF ' _ ' item]=true } })console . log(obj 1)for(obj 1中的项目){ type4.push(item.split('_')[0]。toLowerCase()=='number '?item . split(' _ ')[1]: item . split(' _ ')[1])} obj 1=null;控制台。日志(类型4)控制台。timeend ('obj属性')5,
使用排序将相同的值排列在一起
将在元素组上生成操作
Console.time('sort sort ')让arr3=[0,1,23,' 1 ',4,2,8,5,5,6,9,' asdasd ',' 5'] arr3.sort () for(让I=0;IAR 3 .长度;I) {if (arr3 [I]==arr3 [I 1]) {arr3。split (I,1)} } console . log(arr 3)console . time end('排序顺序')
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun来测试上述代码的运行效果。
PS:这里有一些相关的工具供大家参考:
在线重复数据消除工具:http://tools.jb51.net/code/quchong
在线文本重复数据消除工具:http://tools.jb51.net/aideddesign/txt_quchong
关于JavaScript的更多信息,请查看本网站专题:《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript错误与调试技巧总结》、0103010。
希望本文对JavaScript编程有所帮助。