Мне нужно найти первое дублирующее значение в массиве, а затем вернуть его индекс в переменной firstIndex. Это необходимо сделать для цикла, который должен остановиться после того, как нашел первый дубликат. Я знаю, что это, наверное, довольно просто, но я застрял. До сих пор у меня есть это, но не кажется, что это будет работать:Javascript: Как найти первое дублирующее значение и вернуть его индекс?
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);
Console печатает 1, который прекрасно, потому что 2 является первым дубликатом, но при изменении числа в массиве, цикл не работает. Можете ли вы посоветовать, что здесь можно изменить?
Заранее благодарен!
'index' чего? – Rayon
возможно дубликат? http://stackoverflow.com/questions/840781/easiest-way-to-find-duplicate-values-in-a-javascript-array –
@ Джанна Ваша логика правильная, вы пропустили фигурные скобки, проверьте мой ответ –