javascript - 从数组中获取最接近的数字

标签 javascript arrays

我有一个从负 1000 到正 1000 的数字,我有一个包含数字的数组。像这样:

[2, 42, 82, 122, 162, 202, 242, 282, 322, 362]

我希望我得到的数字更改为数组中最接近的数字。

例如,我得到 80 作为数字,我希望它得到 82

最佳答案

ES5 版本:

var counts = [4, 9, 15, 6, 2],
  goal = 5;

var closest = counts.reduce(function(prev, curr) {
  return (Math.abs(curr - goal) < Math.abs(prev - goal) ? curr : prev);
});

console.log(closest);

关于javascript - 从数组中获取最接近的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8584902/

相关文章:

javascript - 如何点击()只点击DIV,不包含DIV?

javascript - 我的 JavaScript 似乎无法运行

arrays - 如何使用 sectionIndexTitles 的不同数组填充索引 UITableView 的部分

javascript - JavaScript 的 for...in 循环如何处理多维数组?

javascript - 即使使用 JavaScript 函数,AngularJs 也无法对数组进行排序

javascript - 有没有办法将部分标题更改为另一种字体样式或在 Chart.js 中设置自定义标题格式?

javascript - 在带有视频的函数中使用 Canvas 和 Drawimage

javascript - Angular项目没有运行

Java 数组 : Sorting scores and displaying with proper name

php - 从 MySQL PDO 查询结果创建数组