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