В твоём примере последняя итерация лишняя -
i
выходит за пределы массива, тебе надо было написать либо так:
function funk (arr) {
for(let i = 0, length = arr.length - 1; i < length; i++) {
if(arr[i] === arr[i+1]) {
return true;
}
}
return false;
}
либо, лучше, так:
function funk (arr) {
for(let i = 1; i < arr.length; i++) {
if(arr[i - 1] === arr[i]) {
return true;
}
}
return false;
}
Также заметь, что в современном JS никто не использует сравнение с приведением типов(
==
) из-за его ненадёжности, только полноценное сравнение -
===
.
"Пример из интернета" - полная фигня. Кто-то впихнул
костыль
на ровном месте, решая ту самую "проблему", что имеет место быть в твоей реализации, вместо того чтоб подумать и написать один из предложенных мной выше вариантов.)
Ну по крайней мере теперь ты знаком с профессиональным термином
костыль
и как его применение выглядит в коде.)