金熊猫
我试图不使用该Math.max
函数返回JavaScript中数组的最大值。这是reduce
个好方法吗?我的问题是它正在返回,5
而不是11
我想要的那样。我要最好的方法吗?有人可以指导我朝正确的方向前进。
这是我到目前为止的内容:
function max(arr) {
return arr.reduce(function(prev, curr) {
return (prev.value >= curr.value) ? prev : curr;
});
}
console.log(
max([3, 1, 2, 7, 11, 3, 4, 5])
);
叶夫根·戈本科夫(Yevgen Gorbunkov)
数组的元素不是对象(因此,它们没有value
您尝试评估的属性)是纯数字,因此您可以将每个数组项与reduce()
聚合参数直接进行比较:
const arr = [3, 1, 2, 7, 11, 3, 4, 5],
arrMax = arr => arr.reduce((max,n) => n > max ? n : max)
console.log(arrMax(arr))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句