![]() |
|
||||||||||
|
|||||
|
Banned
Регистрация: Jan 2013
Сообщений: 14
|
Создаю массив,
в цикле for проверяю совпадения элементов, если произошло совпадение(например первый элемент и второй) то удаляю элемент методом мойМассив.splice(element1,1), далее trace(мойМассив) и получаю на месте "удаленного" значения NaN, читал что данный метод удаляет элемент но почему оставляет NaN,как можно от него избавиться? |
|
|||||
|
Никакого NaN там не остается. Просто скорее всего цикл не правльно написан.
Представьте такую ситуацию: перебираем массив циклом в сторону увеличения, и тут, по пути, сносим один элемент. Массив стал короче, все индексы "съехали" назад, а цикл продолжает перебирать его вперед. Масив заканчивается, а цикл продолжает работать. На что он наткнется? Нужно изменять всю логику цикла. Не видя кода этого цикла, сложно сказать, как конкретно его нужно переписать. |
|
|||||
|
[+4 08.09.13]
Регистрация: May 2012
Сообщений: 131
|
|
|
|||||
|
Совсем не логичнее и не вполне (не со всех точек зрения) более оптимально, а только несколько быстрее во время выполнения.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ" Мои ачивки: художник-паразит. |
|
|||||
|
Цитата:
По-моему как раз с while в таком случае логичнее. Хотя бы потому, что запись короче. Да и компилятор все равно все for превратит в while |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:46. |
|
|
« Предыдущая тема | Следующая тема » |
|
|