我想要一个独特的数组。我无法弄清楚它是如何工作的
---这是我的功能---
var Array = [2, 0, 1, 9, 1, 3, 2, 4, 5, 5, 3, 4]
function distinctArray(val){
var newArray=[];
for(var i=0 ; i < val.length; i++){
if (newArray.indexOf(val[i]) > -1){
newArray.push(val[i])
}
}
return newArray
}
答案 0 :(得分:1)
您可能打算输入
if (newArray.indexOf(val[i]) == -1) // if it does NOT already exist
而不是
if (newArray.indexOf(val[i]) > -1)
答案 1 :(得分:0)
您可以使用Array.filter()仅保留唯一的
元素
var array = [2, 0, 1, 9, 1, 3, 2, 4, 5, 5, 3, 4];
var distinct = array.filter((x,i,arr) => arr.lastIndexOf(x) === i);
console.log(distinct);
&#13;