Минимальный элемент найден!

!!!
Объясните !! Почему не выводится число 3? Оно же менее 4.
!!!

var usersByDay = [4, 2, 1, 3];

console.log(usersByDay);

var currentIndex = 0;
var minValue = usersByDay[currentIndex];

for (var j = currentIndex + 1; j <= usersByDay.length - 1; j++) {
if (usersByDay[j] < minValue) {
minValue = usersByDay[j];
console.log('Новый минимальный элемент: ’ + minValue);
}
}

console.log('Минимальный элемент: ’ + minValue);

1 лайк

на 3ей итерации цикла minValue равен 1.
3 не меньше 1,поэтому не выводится

1 лайк

Дуже дякую)))я на такому легкому затупив ))

let currentIndex = 0;
// Минимальный элемент ищем начиная со второй позиции
// [4, 2, 1, 3]

let currentIndex = 1;
// Минимальный элемент ищем начиная с третьей позиции
// [4, 2, 1, 3]

let currentIndex = 0;
let minValue = usersByDay[currentIndex]

for (let j = currentIndex + 1; j <= usersByDay.length - 1; j++)

в чем смысл currentIndex + 1?

а что конкретно не понятно? соре, отвечаю не быстро, т.к. не часто сюда захожу

1 лайк

Почему в окне просмотра показывает новый минимальный элемент 2 раза если в массиве только один минимальный элемент это 1. ?
По идее не должно показаться только 1.

Честно немного не до понял как работает цикл.
Пожалуйста объясните своими словами

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

вы невнимательны, “новый минимальный элемент” с единицей только один раз показывается.
после цикла показывает один раз “минимальный элемент” с единицей как итоговый результат работы программы

Почему в задании два “Новых минимальных элемента” ?

ну на каждой итерации цикла, внутри которой срабатывает условие, делается вывод в консоль. срабатывает на 1ой и 2ой итерациях из 3ех.

Понял спасибо большое! :+1: :+1: