Здравствуйте! Подскажите вариант решения такого задания: имеем масив let a = [4,0,2,0,8]; нам нужно вернуть index масива, который окружен нулями, то есть index 2
Олександр, хотів порекомендувати вам спробувати розширення quokka. з його допомогою можна не писати десятки разів console.log а дані виводяться одразу в робочому просторі))) І дякую за ваші уроки
Допускается использование отрицательных значений, в этом случае индекс с которого будет произведено сравнение элементов будет рассчитан по следующей формуле: length (длина массива) + fromIndex.
Він рахує з кінця, типу останній елемент масиву буде мати індекс -1, а от цикл перебирає масив з ліва на право, тобто індекси відображатимуться коректно. ПЕРШИЙ ЕЛЕМЕНТ МАСИВУ БУДЕ МАТИ ІНДЕКС -8
не совсем понял с отрицательным индексом, как происходит поиск? например есть масив: let x = [1, 2, 3, "a", "b", "c"], если x.indexOf( 1, -6 ) - то возвращает 0, если x.indexOf( 1, -5 ), возврящает -1, кто может пояснить? Заранее спасибо.
Привіт, я можу пояснити, він рахує з кінця, типу останній елемент масиву буде мати індекс -1, а от цикл перебирає масив з ліва на право, тобто індекси відображатимуться коректно. Елемент 1 має індекс -6, ти шукаєш саме число 1, тому буде нуль, елемент масиву з індексом -5 це число 2 У ТВОЄМУ МАСИВІ, тобто починає рахувати від 2, а після два у твоєму масиві нема 1, ТОМУ ЛЕМЕНТ НЕ ЗНАЙДЕНО
Він рахує з кінця, типу останній елемент масиву буде мати індекс -1, а от цикл перебирає масив з ліва на право, тобто індекси відображатимуться коректно.
Я немного запутался, почему результат всегда какой-то неправильный? let itemCount = [4,2,3,1,5,6,7,8,9,0]; function findingItem(arr, item) { for(index of arr) { if(index === item) return arr[index] } return -1; } findingItem(itemCount, 3);
Потому что у тебя в переменной index хранится не индекс элемента в массиве, а его значение. То есть на первой итерации index = 4, на второй 2, на третьей 3, на четвёртой 1 и так далее
А почему бы не использовать if (a.indexOf(n) + 1)? Если элемент найден, то минимальный индекс равен нулю, добавляем один и получаем значение, которое if будет интерпретировать как true. В свою очередь, если элемент не найден, indexOf вернет -1, прибавляем единицу и получаем 0, if среагирует как на false.
Потому что становится неясно что ты пытаешься сделать. Когда видишь a.indexOf(n) === -1 то сразу все понятно, но если увидишь a.indexOf(n) + 1 нужно дополнительное время
Очень круто что именно разобрали функцией работу метода.Спасибо
Супер. Спасибо вам большое!
По поводу отрицательного значения индекса не понятно как работает объяснили.
Просто, доступно, понятно. Супер
Согласен. 👍
Дякую
Супер!!!
Здравствуйте! Подскажите вариант решения такого задания:
имеем масив
let a = [4,0,2,0,8];
нам нужно вернуть index масива, который окружен нулями, то есть index 2
оберни в функцию и используй =)
let a = [4,0,2,0,8];
for (let i=0;i
Хорошие уроки🤘
Спасибо.
Олександр, хотів порекомендувати вам спробувати розширення quokka. з його допомогою можна не писати десятки разів console.log а дані виводяться одразу в робочому просторі)))
І дякую за ваші уроки
Здравствуйте. Скажите, пожалуйста, как включить такую же консоль, как у вас на видео? (мак) Спасибо!
не могу 8 задачку решить. подскажите пожалста
Допускается использование отрицательных значений, в этом случае индекс с которого будет произведено сравнение элементов будет рассчитан по следующей формуле: length (длина массива) + fromIndex.
В дз есть на отработку
спасибо
можно назв мелодии в начале видео
Господа, почему когда в fromIndex вводиться '-1' или '-2' консоль выдает ' -1' , что естественно. А когда вводиться '-8' консоль выдает 0?
Він рахує з кінця, типу останній елемент масиву буде мати індекс -1, а от цикл перебирає масив з ліва на право, тобто індекси відображатимуться коректно. ПЕРШИЙ ЕЛЕМЕНТ МАСИВУ БУДЕ МАТИ ІНДЕКС -8
Здравствуйте. Музыка в начале перебивает голос. А так все отлично. Спасибо за информацию!
не совсем понял с отрицательным индексом, как происходит поиск?
например есть масив: let x = [1, 2, 3, "a", "b", "c"], если x.indexOf( 1, -6 ) - то возвращает 0, если x.indexOf( 1, -5 ),
возврящает -1, кто может пояснить?
Заранее спасибо.
Привіт, я можу пояснити, він рахує з кінця, типу останній елемент масиву буде мати індекс -1, а от цикл перебирає масив з ліва на право, тобто індекси відображатимуться коректно. Елемент 1 має індекс -6, ти шукаєш саме число 1, тому буде нуль, елемент масиву з індексом -5 це число 2 У ТВОЄМУ МАСИВІ, тобто починає рахувати від 2, а після два у твоєму масиві нема 1, ТОМУ ЛЕМЕНТ НЕ ЗНАЙДЕНО
Открыл видео, чтобы разобраться, как indexOf() работает с отрицательным индексом начала отсчета, и именно этот момент в видео пройден без пояснений.
Він рахує з кінця, типу останній елемент масиву буде мати індекс -1, а от цикл перебирає масив з ліва на право, тобто індекси відображатимуться коректно.
Я немного запутался, почему результат всегда какой-то неправильный?
let itemCount = [4,2,3,1,5,6,7,8,9,0];
function findingItem(arr, item) {
for(index of arr) {
if(index === item) return arr[index]
}
return -1;
}
findingItem(itemCount, 3);
Потому что у тебя в переменной index хранится не индекс элемента в массиве, а его значение. То есть на первой итерации index = 4, на второй 2, на третьей 3, на четвёртой 1 и так далее
Я бы написал так:
function findItem(arr, item) {
for (let i = 0; i < arr.length; i++)
if (arr[i] === item)
return i
return -1
}
@@oleg_maksiuta я пробова через for...of, но видимо это невозможно
А почему бы не использовать if (a.indexOf(n) + 1)?
Если элемент найден, то минимальный индекс равен нулю, добавляем один и получаем значение, которое if будет интерпретировать как true.
В свою очередь, если элемент не найден, indexOf вернет -1, прибавляем единицу и получаем 0, if среагирует как на false.
Потому что становится неясно что ты пытаешься сделать. Когда видишь a.indexOf(n) === -1 то сразу все понятно, но если увидишь a.indexOf(n) + 1 нужно дополнительное время
С отрицательным индексом плохо объяснили, ничего непонятно.
+
+