任何人都可以解释JavaScript中的reduce函数吗?
can any one explain reduce function in javascripts
谁能解释一下这个JavaScript代码中发生了什么?我不明白i.reduce
以[]
作为初始值传递的部分:
function longestString(i) {
// It will be an array like (['big',[0,1,2,3,4],'tiny'])
// and the function should return the longest string in the array
// This should flatten an array of arrays
var r = i.reduce(function(a, b) {
return a.concat(b);
}, []);
// This should fetch the longest in the flattened array
return r.reduce(function (a, b)
{
return a.length > b.length ? a : b;
});
}
归约中的初始值是一个累加器。 例如,如果 i 是[[1],[2],[3]]
则 reduce 语句等效于:
r = [];
r = r.concat([1]);
r = r.concat([2]);
r = r.concat([3]);
在reduce的每个步骤中,必须对两个参数调用该函数。 在第一步中,必须有一些初始值。 您不能无所事事地调用 .concat,因此您可以从一个空数组开始。
相关文章:
- 对于这种情况,函数Reduce CouchDB
- 解构javascript中的reduce函数
- MongoDB map/reduce,forEach不是一个函数
- Javascript作用域规则和mongo-map/reduce函数
- 用函数重写reduce方法
- Javascript如何使用高阶函数和Map/Reduce函数来汇总多个数组
- 如何在 CouchDB 中将对象属性从 reduce 合并到重新归约函数
- 可以在Javascript中使用reduce编写bigram(或ngram)函数
- reduce函数由JavaScript中的map函数组成
- 任何人都可以解释JavaScript中的reduce函数吗?
- 使用 reduce 函数返回数组
- 箭头函数可以合并主机函数的多个参数,例如 reduce
- 如何在 Indesign 脚本中使用像 Array.reduce() 这样的高阶函数
- 如何实现更通用的reduce函数以允许提前退出
- 使用 reduce 在 Javascript 中构建过滤器函数
- 为什么我们有sort(),reduce(),map(),filter()中的函数
- JavaScript:为什么可以't我在嵌套的reduce函数后面加链
- JavaScript-reduce()函数的示例
- 重新创建JavaScript's reduce函数
- 使用javascript中的reduce函数查找数组的最小和最大数