两次尝试都无法对内部数组进行排序:
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))
我做错了什么?谢谢!
答案 0 :(得分:2)
传递给.sort()
的函数需要返回一个整数,而不是布尔值。如果第一个参数应该在排序顺序中的第二个参数之前,则整数应小于零;大于零,如果它应该来;如果它们相等则为零。
所以,在你的情况下:
a.sort(function(a, b) {
return a[0] < b[0] ? -1 :
a[0] > b[0] ? 1 :
0;
});