了解Javascript Codewars挑战

时间:2015-08-13 12:01:36

标签: javascript arrays

     var gimme = function (inputArray) {
     var order = inputArray.slice().sort(function(a,b) { return a-b;});
    return inputArray.indexOf(order[1]);
     };

这是一个函数,用于在给定三个数字时查找序列中的中间数的索引号。但是我不理解这一部分:

     (function(a,b) { return a-b;});

有人可以解释这部分的目的吗?我会很感激。谢谢!

1 个答案:

答案 0 :(得分:3)

这是MDN的一个例子:

var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
    return a - b;
});
console.log(numbers);

结果为[1, 2, 3, 4, 5];

所以这是一个非常简单的整数比较器。

比较器的工作原理如下:

  • 如果a< b,返回否定
  • 如果b < a,返回正面
  • 在其他情况下,返回

此函数使用整数的简单数学属性。