Почему в консоль выводится undefined? JavaScript
Реализовываю линейный поиск на JS, и при выводе в консоль получаю не только индекс искомого элемента массива, но и undefined, почему так происходит? Если возвращать в цикле i, то выводится только нужный индекс.
const array = [1, 4, 5, 8, 5, 1, 2, 7, 5, 2, 11];
function linearSearch(array, item) {
for (let i = 0; i < array.length; i++) {
if (array[i] === item) {
return console.log(`Искомый элемент имеет индекс ${i}`);
//return i;
}
}
return null;
}
console.log(linearSearch(array, 11));
Ответы (1 шт):
Автор решения: Кирилл Панишев
→ Ссылка
Потому что у тебя лишний console.log, не нужно его возвращать в теле цикла. Вот так будет правильно
function linearSearch(array, item) {
for (let i = 0; i < array.length; i++) {
if (array[i] === item) {
return `Искомый элемент имеет индекс ${i}`;
//return i;
}
}
// return null;
}
console.log(linearSearch(array, 11));
