我正在调用reduce两次以获得min和max但是insted是否有一种方法可以调用reduce只有一次并获得相同的结果 - 必须使用一次调用来减少。 - 例如,minMax([4,1,2,7,6])返回[1,7]
m = 60000
答案 0 :(得分:0)
一次可以使用reduce减少一个以上的东西,初始值可以是任何东西,数组/对象等。
下面应该是你的事。
var values = [33,2,48,23,1,45,23,311,312,32,32]
function minMax(items) {
return items.reduce(function (a,b) {
a[0] = Math.min(a[0], b),
a[1] = Math.max(a[1], b);
return a; },
[+Infinity, -Infinity])
}
console.log(minMax(values));

答案 1 :(得分:0)
只需使用Math min和max,并将绑定应用于Math;)
const nums = [4, 1, 2, 7, 6];
const minMax = numbers => [Math.min.apply(Math, numbers), Math.max.apply(Math, numbers)];
console.log(minMax(nums));