UPDATE
这是问题的一个小提琴:https://jsfiddle.net/q9c5fku3/ https://jsfiddle.net/q9c5fku3/当我运行该代码并查看控制台时,我看到它是 console.logging 数组中的不同数字。
感谢您的回复,抱歉我收到了反对票,但这真的让我很困惑。
我用不同的数字再次尝试了一次,我想知道你们能在你们这边测试这些数字,看看是否得到不同的结果吗?
var myArray = [621608617992776, 621608617992776, 10156938936550295, 621608617992776, 10156938936550295, 10156938936550295, 621608617992776, 10156938936550295];
console.log(myArray);
var myArrayTrimmed = [];
for(var i in myArray){
if(myArrayTrimmed.indexOf(myArray[i]) === -1){
myArrayTrimmed.push(myArray[i]);
}
}
console.log(myArrayTrimmed);
这在控制台中给了我以下数组:
[621608617992776, 10156938936550296]
由于某种原因,第二个数字增加了 1。
===================
原问题:
我有这个数组:
var myArray = [100, 200, 100, 200, 100, 100, 200, 200, 200, 200];
我正在尝试创建一个名为的新数组myArrayTrimmed
这将与上面的数组相同,只是它会删除重复项。这应该导致:
var myArrayTrimmed = [100, 200];
这是我用来尝试实现此目的的代码:
var myArray = [100, 200, 100, 200, 100, 100, 200, 200, 200, 200];
var myArrayTrimmed = [];
for(var i in myArray){
if(myArrayTrimmed.indexOf(myArray[i]) === -1){
myArrayTrimmed.push(myArray[i]);
}
}
console.log(myArrayTrimmed);
这无法正常工作,在删除重复项时,由于某种原因它减去了数字1
从 200 开始,所以控制台中的输出是:
[100, 199]
我想这一定是由于-1
在代码中,但我不知道如何删除重复项。