【发布时间】:2026-02-08 06:10:02
【问题描述】:
我需要从数组numbers 中获得最接近数字max 的数字组合。
(数组numbers的加法是允许的)
var numbers = [2, 5, 3, 7, 9, 20, 54, 89, 10]; // some numbers in array
var max = 10; // the highest possible number we want to get from array
var highest = [];
在这种情况下,输出应该是(3, 7) or (2, 5, 3) or (10),输出不应该是9
我已经这样做了,但这不是我想要的。
var possibles = numbers.filter(number => number <= max);
highest.push(Math.max(...possibles));
possibles.sort((a,b) => b - a);
possibles.forEach(number =>{
if( (max - highest[0]) <= number){
highest.push(Math.max(...possibles));
}
});
这种情况下的输出是 9,这不是可能的最大数字。
【问题讨论】:
-
还请提及您到目前为止所做的尝试
-
为什么不希望
[10]也作为结果? -
有,忘记加了
标签: javascript arrays