排序JavaScript数组的奇怪行为

时间:2016-04-10 12:23:52

标签: javascript arrays sorting

我在尝试对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;
&#13;
&#13;

在这种情况下正常工作,让我回到相同的阵列。

控制台就像这样,

enter image description here

但是当我尝试以下输入时,

var arr = ['a', 'b', 'C', 'd', 'e', 'f', 'g', 'h', 'I', 'k', 'l'];

给我这个,

enter image description here

我无法弄清楚为什么会这样。

PS。我正在编写这个自定义排序来检查元素的长度,因为我需要一个根据长度对其元素进行排序的数组。

0 个答案:

没有答案