【发布时间】:2017-05-13 00:26:41
【问题描述】:
我有一个对象数组(汽车):
var car = [
{speed: 20, color: "red"},
{speed: 5, color: "blue"},
{speed: 80, color: "yellow"},
{speed: 79, name: "orange"}
];
还有一个应该返回数组中最快的 Car 的函数:
function getFastestCar(cars) {
cars.reduce(function (prevFastestCar,curFastestcar) {
if (curFastestcar.speed > prevFastestCar.speed) return curFastestcar;
else return prevFastestCar;
}, {speed: -Infinity, name: "test"});
};
搜索了几个小时后,我找不到函数返回未定义的任何解决方案。我调试了代码并且该函数工作得非常好,除了在最后一个“步骤”中它以某种方式用未定义的方式替换了最快的 Car。我试图理解 reduce 方法背后的概念我知道有更简单的方法可以做到这一点,但我很好奇为什么它不能正常工作。
【问题讨论】:
-
我认为您只是缺少函数中的
return。
标签: javascript undefined reduce