gpt4 book ai didi

javascript - 编写一个算法,接受一个数组并将所有的零移动到末尾

转载 作者:行者123 更新时间:2023-11-30 09:52:05 25 4
gpt4 key购买 nike

编写一个算法,接受一个数组并将所有零移动到末尾,同时保留其他元素的顺序。

例如:

moveZeros([false,1,0,1,2,0,1,3,"a"]) // returns[false,1,1,2,1,3,"a",0,0]

我的代码:

var moveZeros = function (arr) {

var zeros = [];
var others = [];
var res;

var arrayLength = arr.length;
for (var i = 0; i < arrayLength; i++) {
if (arr[i] == 0) {
zeros.push(arr[i]);
} else {
others.push(arr[i]);
}
}
var res = others.concat( zeros );

return res;


}

我得到以下结果:

Expected:    ["a","b",null,"c","d",1,false,1,3,[],1,9,{},9,0,0,0,0,0,0,0,0,0,0],
Instead got: ["a","b",null,"c","d",1,1,3,1,9,{},9,0,0,0,false,0,0,[],0,0,0,0,0]

预期结果与我取得的结果非常接近(见上文)。我不明白为什么我在不同的地方有 false

最佳答案

简单地试试这个

var arr = [false,1,0,1,2,0,1,3,"a"];
arr.sort(function(a,b){if (a===0){return 1}});
document.body.innerHTML += JSON.stringify(arr);

关于javascript - 编写一个算法,接受一个数组并将所有的零移动到末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35940262/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com