Задача: Найти в массиве нули, удалить с данного индекса и добавить в конец массива.
var moveZeros = function (arr) {
for(var i = 0; i < arr.length; i++ )
{
if(arr[i] == 0 )
{
arr.splice(i, 1);
arr.push(0);
}
}
return arr;
}
Данные входные значения:
Expected: '[1,2,1,1,3,1,0,0,0,0]' ответ правильный в одном случае, а в других вариантах появляться ноль в массиве. Подскажите как так получается:
Expected: '[9,9,1,2,1,1,3,1,9,9,0,0,0,0,0,0,0,0,0,0]', instead got: '[9,0,9,1,2,1,1,3,1,9,0,0,9,0,0,0,0,0,0,0]'
Expected: '["a","b","c","d",1,1,3,1,9,9,0,0,0,0,0,0,0,0,0,0]', instead got: '["a",0,"b","c","d",1,1,3,1,9,0,0,9,0,0,0,0,0,0,0]'
Вы пропускаете ноль, если он оказывается в месте с индексом i в результате сдвига. Пример - два ноля подряд в середине массива.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости