js-一种去掉数组中重复元素的方法


思路来源于某个同学的博客

1 function norepeat(arr){
2     return arr.filter(function(val,index,array) {
3         return array.indexOf(val)===index;
4     });
5 }
6 var newarr=norepeat(["a","abc","4","xy","xyz","a","abcd","abc"]);
7 alert(newarr);

利用filter和indexOf,如果这个数不重复,那个它的首个出现的index一定是传入的index

方法二:利用ES6的Set数据结构。

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

function norepeat(arr){
    return [...new Set(arr)];
}

norepeat(["a","abc","4","xy","xyz","a","abcd","abc"])
// ["a", "abc", "4", "xy", "xyz", "abcd"]

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM