Почему в консоль выводится 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));
→ Ссылка