为字符串排序内部数组

时间:2014-12-27 01:19:35

标签: javascript

两次尝试都无法对内部数组进行排序:

a=[['c'],['b']]
a.sort(function(a,b){a[0]<b[0]}) // returns c,b
console.log(JSON.stringify(a))
a.sort(function(a,b){a[0]>b[0]}) // returns c,b
console.log(JSON.stringify(a))

我做错了什么?谢谢!

http://jsfiddle.net/0w7t3ov2/

1 个答案:

答案 0 :(得分:2)

传递给.sort()的函数需要返回一个整数,而不是布尔值。如果第一个参数应该在排序顺序中的第二个参数之前,则整数应小于零;大于零,如果它应该来;如果它们相等则为零。

所以,在你的情况下:

a.sort(function(a, b) {
  return a[0] < b[0] ? -1 :
         a[0] > b[0] ? 1 :
         0;
});