我必须在数组中找到第一个重复值,然后在变量firstIndex中返回其索引。这必须使用for循环来完成,在发现第一个重复项之后应该停止。我知道这可能很简单,但是我被卡住了。到目前为止,我有这个,但它似乎没有用:
var numbers4 = [5, 2, 3, 4, 2, 6, 7, 1, 2, 3];
var firstIndex = "";
for (var a = 0; a < numbers4.length; a++) {
for (var b = a+1; b < numbers4.length; b++) {
if (numbers4[a] === numbers4[b])
firstIndex = numbers4.indexOf(numbers4[a]);
break;
}
}
console.log(firstIndex);
控制台打印出1,这很好,因为2是第一个重复的,但是当我更改数组中的数字时,循环不起作用。您能建议在这里进行哪些更改吗?
提前致谢!
最佳答案
使用以下内容更改代码
var numbers4 = [5, 2, 3, 4, 2, 6, 7, 1, 2, 3];
var firstIndex = "";
var isMatch=false;
for (var a = 0; a < numbers4.length; a++) {
for (var b = a+1; b < numbers4.length; b++) {
if (numbers4[a] === numbers4[b]){
firstIndex = numbers4.indexOf(numbers4[a]);
isMatch=true;
break;
}
}
if (isMatch) {break;}
}
console.log(firstIndex);