不了解JavaScript排序功能?

时间:2016-11-03 23:19:33

标签: javascript

我不明白数组元素传递给函数的顺序。 我知道它需要两个参数a和b,如果它第一次比较3和20,下次比较它会是什么?

   console.log(["a", "b", "c"].sort());
   console.log([3, 20,10000].sort(function(a,b){
    if (a < b) {
        return -1;

     } else if (a ==b) {
        return  0;

     } else {
        return  1;
     }

   }));
  }());

1 个答案:

答案 0 :(得分:1)

排序过程传递比较器函数(使用两个参数传递的函数)数组中的值对。你不知道,你不必知道它们是什么价值;您的所有功能必须做的是返回一致的比较结果。您的函数可能会多次获得同一对值,并且可能会以不同的顺序获取它们。

现代JavaScript运行时中的排序可能是快速排序实现,但未指定精确的详细信息;它所要做的就是成功地对数组进行排序。