我必须在数组中找到第一个重复值,然后在变量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是第一次复制,但是当我在数组中更改数字时,循环不工作。你能告诉我这里有什么可以改变吗?
提前感谢!
发布于 2018-04-21 18:26:50
这个问题指出数组中的第一个dupe必须和它的索引一起找到。因此,我返回一个对象,其中i属性是index,e属性是第一个重复的e功能本身。执行此任务的一种方法是
var numbers4 = [5, 2, 3, 4, 2, 6, 7, 1, 2, 3],
headDupe = (a,r={}) => (r.e = a.find((n,i) => (r.i = a.indexOf(n), r.i < i)),r);
console.log(headDupe(numbers4));
https://stackoverflow.com/questions/39346182
复制相似问题