只是好奇的问题。使用reduce函数,我们可以轻松地分别找到数组中最小和最大的数字。就像那样:在javascript中查找带有缩小功能的最小和最大数组数
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上测试。 预先感谢您。
谢谢你的答案。当我添加一个带有“最小”变量的return语句时,所有的东西都起作用了。虽然@zerkms的答案像一个魅力一样工作(我已经测试过,我也想让它升温,但在我这样做之前它已被删除),你指出我正确地解决了这个问题。 – 2014-09-28 21:04:40