不负相思意
这个sort函数需要一个需要两个参数的函数。a和b,并返回:如果出现一个负数以前 b如果出现一个正数后 b如果a和b的相对顺序不重要,则为零。以便按升序对数字进行排序。return a - b将产生正确的返回值;例如:a b ret
1 2 -1
3 2 1
2 2 0另一方面return a > b生成下列返回值:a b ret implied
1 2 false 0
3 2 true 1
2 2 false 0在上面的示例中,排序函数被告知1和2是同(而将1放在2之前或2在1之前并不重要)。这将产生不正确的结果,例如(在Chrome 49中):[5, 8, 7, 1, 2, 3, 4, 6, 9, 10, 11, 12, 13].sort(function(a, b) {
return a > b;});// [4, 5, 3, 1, 2, 6, 7, 8, 9, 10, 11, 12, 13]