javascript - 了解 Javascript Codewars 挑战

标签 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;});

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

最佳答案

这是来自 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,返回一个正数
  • 在其他情况下,返回

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

关于javascript - 了解 Javascript Codewars 挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31987664/

相关文章:

javascript - 当我尝试在 ace.js 中创建 Range 对象时,抛出 "Illegal Constructor"错误

c - 在 C 代码中间奇怪地改变 vAriable

JavaScript 数组减少到子数组的总长度 - 为什么这不起作用?

javascript - IE 不显示最新数据

javascript - 如何在unity 3d中为物体制作类似跳跃的效果?

javascript - 如何使用 "which"克隆带有 keydown 输入的表行?

javascript - 如何显示周日的不同时间段 - Jquery datetimepicker

java - ArrayList 作为对象属性不保存值

php - 正确格式化 php 输出

arrays - 存在过滤器时使用数组设置范围的值