思路來源於某個同學的博客
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"]