我想要在使用reduce函数的数组上访问其长度,在这个reduce函数里面,但是我好像做不到,有没有人知道是否可以在任何高阶函数中访问数组对象?
PS: 我已经尝试使用 this
了,但没有成功;
PSS: 我想要使用reduce函数计算平均评分,所以我使用reduce来对数组中所有值求和,并将这些值除以数组长度得出结果,代码如下:
let averageRating = watchList
.filter(movie => movie.Director === 'Christopher Nolan')
.map(x => parseFloat(x.imdbRating))
.reduce((total, current) => total + (current / 'array length'));
“array length”指的是数组的长度。
PSSS: 尝试过
var averageRating = watchList
.filter(movie => movie.Director === 'Christopher Nolan')
.map(x => parseFloat(x.imdbRating))
.reduce((total, current, index, arr) => total + (current / arr.length));
但是,由于数组正在缩小,因此数组长度不断变化,所以它对我的目的没有用。
reduce
接受四个参数:累加器、当前数组值、其索引和整个数组本身。如果你的回调函数接受了四个参数,最后一个参数就是整个数组,你可以通过它获取数组的长度。请注意不要改变原文意思。 - Scott Sauyet