我必须在数组中找到第一个重复值,然后在变量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);

10-08 18:39