Помогите: В поисках элемента


#1

Вероятно, я не самый одарённый человек, потому в упор не понимаю, как закончить это испытание.

Кажется, у меня получилось найти нужный элемент в массиве( не самая сложная часть, да?); но как дальше объясниться языком кода, что мне нужно найти индекс найденного элемента в массиве, да ещё и не какого-либо, а именно последнего - для меня загадка.

Заранее благодарю за помощь.

Summary
for ( var i =0; i <= numbers.length-1; i++){
  if (numbers[i]===number){
    console.log (numbers[i]);// проверяю, нашёл ли хоть элемент верно
     }
}

#2

Можно намекнуть на индекс при помощи счетчика. Таким образом, lastIndex будет обновляться при каждом выполнении условия, и последнее значение и есть ответ)


#3
var numbers = [2, 4, 7, 4, 7, 2];
var number = 4;
var lastIndex= -1;

for(var i = 0; i < numbers.length; i++){
  if(numbers[i] === number){
    lastIndex = i;
  }
}

Получилось как-то так, при проверке вроде работает.


#4

Тут смысл в том, что мы берем элемент с конца и сравниваем его с number, как только мы находим этот элемент цикл прерывается и значение i остается равно lastIndex

for (var i=numbers.length-1; i>0; i–) {
if (number == numbers[i]) {
lastIndex = i;
break;
} else {
lastIndex = -1;
}
}


#6

Мой вариант, что можно улучшить?

P.s. методы, как выше не предлагать и так понятно…

В поисках элемента
console.log('Программа "В поисках элемента" by Nerealist');

var numbers = [2, 4, 7, 4, 7, 2];
var number = 4;
console.log('Ищем индекс числа ' + number + ' в массиве : ' + numbers);

for (var i = 0; i < numbers.length; i++) {
  if (numbers[i] === number) {
    var lastIndex = i;
  }
}

if (!lastIndex) {
    lastIndex = -1;
}

console.log('Индекс искомого числа в массиве равен = ' + lastIndex);

#7

Такой вариант:

Summary
var numbers = [2, 4, 7, 4, 7, 2];
var number = 4;
var lastIndex = -1;

for(var i = numbers.length - 1; i >= 0; i--){
  if(numbers[i] === number){
  lastIndex = i;
  break;
  }
}

#8

var numbers = [2, 4, 7, 4, 7, 2];
var number = 4;
var lastIndex = 0;

for (var i = numbers.length-1; i >= 0; i–) {
if (number === numbers[i]) {
lastIndex = i;
break;
} else {
lastIndex = -1;
}
}


#9

А почему нельзя сделать просто вот так?

Сводка

var lastIndex = numbers.lastIndexOf(number);


#10

Потому что учимся стоить алгоритмы и развивать логику, а не использовать встроенные методы js.


#11
var numbers = [2, 4, 7, 4, 7, 2];
var number = 4;
var lastIndex = -1;

for (var i = 0; i <= numbers.length-1; i++) {
  if (numbers[i] == number) {
  lastIndex = i;
  }
}