gpt4 book ai didi

javascript - 我无法理解 "sort function"

转载 作者:行者123 更新时间:2023-11-28 16:31:32 25 4
gpt4 key购买 nike

这个问题对你来说可能很简单..但我是 javascript 新手

我无法理解函数中的这部分

kids.sort(function(n, m)

n 和 m 是什么?以及我如何理解这种函数

谢谢

<script>
function sortkids(e) {
if (typeof e == "string") e = document.getElementById(e);
var kids = [];
for(var x = e.firstChild; x != null; x = x.nextSibling)
if (x.nodeType == 1) kids.push(x);
kids.sort(function(n, m) {
var s = n.firstChild.data;
var t = m.firstChild.data;
if (s < t) return -1;
else if (s > t) return 1;
else return 0;
});

for(var i = 0; i < kids.length; i++) e.appendChild(kids[i]);
}
</script>
<ul id="list">
<li>one<li>two<li>three<li>four <!-- items are not in alphabetical order -->
</ul>
<button onclick="sortkids('list')">Sort list</button>

最佳答案

.sort 正在为您进行实际的排序,即对数组内的项目进行洗牌。您需要告诉 .sort 的是您希望如何对项目进行排序。您可以通过提供一个函数来实现此目的,该函数接受两个参数并返回您认为两个参数中哪一个“更大”或“更小”或者两者是否相等(返回值 -101)。

.sort 遍历数组,一次将两个元素传递到函数中,询问“哪个更大?”,根据答案对数组进行排序。它会重复执行此操作,直到数组排序完毕。

关于javascript - 我无法理解 "sort function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5740385/

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