Здравствуйте. Есть задача, пройтись по массиву и сортировать так, чтобы все 0 были в конце массива.
Написал такой код
'use strict'var arr = [1, 5, 0, 10, 0, 65, 0];function moveZeros(some) { let str; for(let i = 0; i < some.length; i++) { if(some[i] == 0) { str = some.splice([i], 1); some = some.concat(str); } } return some;}console.log(moveZeros(arr));
В данном примере все сортирует правильно, но если массив будет вида скажем [0, 0, 0, 1], то не будет правильно и на выходе получим [0, 1, 0, 0] вместо [1, 0, 0, 0]
Например имеем такую ситуацию, что var arr = [0, 0, 0, 1]
Цикл в первый раз пробежался по массиву, первый (нулевой) элемент равен 0, и код будет выполнятся, после чего получим массив уже вида [0, 0, 1, 0]. Вопрос, следующий этап цикла пробежит по массиву [0, 0, 1, 0] или по изначальному [0, 0, 0, 1] ? В чем моя ошибка?
You can post now and register later. If you have an account, sign in now to post with your account. Note: Your post will require moderator approval before it will be visible.
Добрый день. Начинающий программист, столкнулся с проблемой. Селектор .class не работает должным образом. Несмотря на правильное, я надеюсь, описание, на web-странице не отображается ни одно изображение. С чем может быть связано? Заранее спасибо за помощь.
Question
Нарек
Здравствуйте. Есть задача, пройтись по массиву и сортировать так, чтобы все 0 были в конце массива.
Написал такой код
В данном примере все сортирует правильно, но если массив будет вида скажем [0, 0, 0, 1], то не будет правильно и на выходе получим [0, 1, 0, 0] вместо [1, 0, 0, 0]
Например имеем такую ситуацию, что var arr = [0, 0, 0, 1]
Цикл в первый раз пробежался по массиву, первый (нулевой) элемент равен 0, и код будет выполнятся, после чего получим массив уже вида [0, 0, 1, 0]. Вопрос, следующий этап цикла пробежит по массиву [0, 0, 1, 0] или по изначальному [0, 0, 0, 1] ? В чем моя ошибка?
Edited by НарекLink to comment
Share on other sites
27 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.