在 JavaScript 中,我可能会生成一个随机数,可能是 3,123、3,001 或 2790 等。哪个 JavaScript 方法将帮助我返回目标整个整数,因为这些值......
3,123、或 3,001、或 2790 更接近 3000,而不是 4000、2000 或 1000。
感谢您的任何建议。
你可以对它们进行排序:
var numbers = [3123, 3001, 2790, 4000, 2000, 1000];
var target = 3000;
var closest = numbers.sort(function(a, b) {
var a = Math.abs(a - target);
var b = Math.abs(b - target);
return a < b ? -1 : (a > b ? 1 : 0);
});
Run Code Online (Sandbox Code Playgroud)
closest包含按与 的距离排序的数字3000。
或者你可以使用一长串:
var sorted = numbers.map(function(value, index) {
return [Math.abs(value - 3000), index];
}).sort().map(function(value, index) {
return numbers[value[1]];
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2770 次 |
| 最近记录: |