手机版

JS在阵列中实施阵列重复数据消除和对象重复数据消除的示例

时间:2021-08-27 来源:互联网 编辑:宝哥软件园 浏览:

本文给出了JS在阵列中实现阵列重复数据删除和对象重复数据删除的实例。分享给大家参考,如下:

每个人在写项目的时候一定都遇到过这个逻辑要求,就是去重复一个数组,还有一个就是根据某个属性去重复数组中的对象,比如id。下面我写了两个函数,都可以达到这个效果。一种是纯ES5重复数据消除方法,另一种是ES6阵列的重复数据消除。

让我先定义两个数组

var arr=[1,2,3,5,3,4,5,6,6,' test ',' test ',true];Var person=[{name: '孙悟空',weapon: '如意金箍',experience: '大闹天宫,西学东渐',post: '斗佛与天圣' },{Name 3360 '孙悟空',weapon: '如意金箍。经验:《大闹天宫西学》,帖3360《与佛争天宫》,文{名:《孙悟空》,文:《如意金箍》,经验:《大闹天宫西学》,帖3360《与佛争天宫》,文{名:《孙悟空》,文:《如意金箍》,经验:《大闹天宫》

//ES5本机重复数据删除方法函数ES5重复(arr,type){ var new arr=[];var TarR=[];if(arr . length==0){ return arr;} else { if(type){ for(var I=0;一、长度;i ){ if(!tArr[arr[I][type]]){ NewArr . push(arr[I]);tArr[arr[I][type]]=true;} }返回newArr} else { for(var I=0;一、长度;i ){ if(!tArr[arr[I]]){ NewArr . push(arr[I]);tArr[arr[I]]=true;} }返回newArr} }}console.log('ES5重复',ES5重复(arr));Console.log('ES5重复',ES5重复(人,'姓名'));ES6 ES5版本:

//Es6 ES5重复方法函数es6duplicate (arr,type) {if (arr。length==0){ return arr;} else { if(type){ var obj={ varnewarr=arr . reduce((cur,next)={ obj[next.name]?' : obj[next . name]=true cur . push(next);返回曲线;},[])返回newArr} else { return array . from(new Set(arr));} }}console.log('ES6重复',ES6重复(arr));Console.log('ES6重复',ES6重复(人,'姓名'));看看结果

看起来第二种方法的代码量比较小,但是第一种是通用的,兼容性很好。第二个涉及到ES6的新特性,所以需要考虑兼容性。但是,如果在vue-cli中初始化生成的项目,则可以随意使用ES6的新功能。他自动翻译它们。我自己做了一个演示,尝试了很多新功能。IE9有效果(vue本身不支持IE8)

PS:这里有一些相关的工具供大家参考:

在线重复数据消除工具:http://tools.jb51.net/code/quchong

在线文本重复数据消除工具:http://tools.jb51.net/aideddesign/txt_quchong

关于JavaScript的更多信息,请查看本网站专题:《JavaScript数组操作技巧总结》、《JavaScript字符与字符串操作技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript错误与调试技巧总结》、0103010。

希望本文对JavaScript编程有所帮助。

版权声明:JS在阵列中实施阵列重复数据消除和对象重复数据消除的示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。