gpt4 book ai didi

javascript - 在纯 javascript 中对数组进行排序时的最佳实践,如果我必须将一组发送到后面

转载 作者:行者123 更新时间:2023-12-04 02:22:18 24 4
gpt4 key购买 nike

如果我有以下数组:

[0, 1, 3, 0, 4, 2]

我想按升序对其进行排序,除了最后需要的零:
[1, 2, 3, 4, 0, 0]

请记住,我无法访问此解决方案的下划线或 linq.js。
我目前的解决方案有效,但感觉很重、很长,而且不是很优雅。这是我的代码:
        function sortNumbers(numbers) {
var zeroNumbers = [];
var notZeroNumbers = [];

for (var i = 0; i < numbers.length; i++) {
if (numbers[i] === 0) {
zeroNumbers.push(numbers[i]);
} else {
notZeroNumbers.push(numbers[i]);
}
}

var sortedNumbers = notZeroNumbers.sort(function (a, b) {
return parseFloat(a) - parseFloat(b);
});

for (var x = 0; x < zeroNumbers.length; x++) {
sortedNumbers.push(zeroNumbers[x]);
}

return sortedNumbers;
}

我可以改进这个解决方案吗?

最佳答案

这与此问题无关,但我正在搜索“纯排序 javascript”,这是第一个答案。

因为 sort 会改变原始数组,所以排序数组时的最佳做法是先克隆它。

const sortedArray = [...array].sort(/* optional comparison function*/)

关于javascript - 在纯 javascript 中对数组进行排序时的最佳实践,如果我必须将一组发送到后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38014775/

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