参数a和b来自哪个排序函数? 他们是否自动通过?数组排序。争论来自哪里?
dir = "asc"
sortArray = new Array("hello", "Link to Google", "zFile", "aFile");
//sort array
if (dir == "asc") {
sortArray.sort(function(a, b) {
return a.toLowerCase() > b.toLowerCase()
});
} else {
sortArray.sort(function(a, b) {
return b.toLowerCase() > a.toLowerCase()
});
}
for (var i = 0; i < sortArray.length; i++) {
console.log(sortArray[i]);
}
'a'和'b'具有数组中每对元素的值。 –
只是你知道,你的代码是错误的。根据“a”是否小于“b”,分拣机应该返回“-1”或“1”,如果它们相等,则返回“0”。你的代码正在做的是返回'0'或'1'。所以如果脚本比较'X'和'Y',那么会被告知'Y> X'和'X == Y',这是不合逻辑的,所以结果是未定义的。将'?1:-1;'添加到每个'return'行的末尾。 –