只是出于好奇。使用reduce函数,我们可以轻松地分别在数组中找到最小值和最大值。就像这样:
var a = [1,2,3,4,5,1,-1,6,7,8,9,10,2,11];
a.reduce(function(prev,cur,index,array){
return prev > cur ? prev : cur;
}); // returns 11
a.reduce(function(prev,cur,index,array){
return prev < cur ? prev : cur;
}); // returns -1
鉴于这一点,为什么这不起作用呢?
var a = [1,2,3,4,5,1,-1,6,7,8,9,10,2,11];
var smallest = 0;
var biggest = 0;
a.reduce(function(prev,cur,index,array){
smallest = prev < cur ? prev : cur;
biggest = prev > cur ? prev : cur;
});
console.log([smallest, biggest]); // prints [11,11]
在repl.it上进行了测试。