gpt4 book ai didi

javascript - 在 JavaScript 中对数值数组进行排序

转载 作者:行者123 更新时间:2023-11-30 07:37:42 28 4
gpt4 key购买 nike

我正在尝试理解获取数字数组并对其进行排序的 JS 代码片段:

var msg = document.getElementById("message");

var v = [30,2,1,9,15];
msg.innerHTML += "<p><strong>Original order:</strong> [" + v + "]<p>";

v.sort(sortLowToHigh);
msg.innerHTML += "<p><strong>After sorting:</strong> [" + v + "]<p>";

function sortLowToHigh(a, b) {
return a - b;
}

输出:

Original order: [30,2,1,9,15]

After sorting: [1,2,9,15,30]

我意识到 sort() 函数在单独使用时会将数组元素转换为字符串,而排序的结果是不理想的。

但我不知道 sortLowToHigh 如何以及基于什么过程训练 sort 方法按升序对数值进行排序。

最佳答案

sort接受比较函数。该函数需要做的就是比较两个值,如果 a 小于 b 则返回小于 0 的值,如果 a 大于 b 则返回大于 0 的值,如果它们相等则返回 0。使用该比较,排序函数处理实际排序。

对于数字,这个比较函数很简单。你只要返回a - b , 你得到了 <0 的返回值, 0>0 .

关于javascript - 在 JavaScript 中对数值数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27333920/

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