我在尝试对JavaScript数组进行排序时遇到了一种奇怪的行为。
var arr = ['a', 'b', 'C', 'd', 'e', 'f', 'g', 'h', 'I', 'k'];
arr.sort(function (a, b) {
console.log(a, b);
if (a.length < b.length) return 1;
else if (a.length > b.length) return -1;
else return 0;
});
&#13;
在这种情况下正常工作,让我回到相同的阵列。
控制台就像这样,
但是当我尝试以下输入时,
var arr = ['a', 'b', 'C', 'd', 'e', 'f', 'g', 'h', 'I', 'k', 'l'];
给我这个,
我无法弄清楚为什么会这样。
PS。我正在编写这个自定义排序来检查元素的长度,因为我需要一个根据长度对其元素进行排序的数组。