Форэч глючит ? или я не вьезжаю
-
Имеем список
в цикле форейч забираем элемент из списка с УДАЛЕНИЕМ.
По выходу в списке остается один элимент
foreach.xmlКак так то ?
-
@Bigma вы не въезжаете) кто же размер массива изменяет прямо во время итерации через Foreach, тогда уж While или For используйте.
Вот введите в консоли браузера код:
let arr= [1, 2, 3]; arr.forEach(v => { console.log(v); arr.splice(0, 1); }); console.log(arr);
И увидите тоже самое. Почему так - можно найти в интернете)
-
@Oyasumi-Punpun
Вижу в консоле, но логически понять не могу - если он в начале посчитал что надо 3 раза сделать и больше не пересчитывает, то три и должен сделать. А если пересчитывает, то чего последний забыл :(
спасибо что пример дал.
-
@Bigma присмотрись внимательно, какой цифры не хватает, думай почему
-
@prorok ну то есть что он себе поименно элементы берет в свой список ? мне кажется приметивнее должно работать - считаем колличество элементов и столько и делаем.
Ладно забейте, приму как данность.
-
@Bigma с удалением берите первый элемент, они постепенно все и отработают
-
@smeckoi77 так и делал, остается один, почитал, что форейч не любит этого
-
@Bigma цикл for от 1 до количество элементов списка можно
-
@smeckoi77 да это понятно. Вообщем всем спасибо.