美文网首页
记录Array.prototype.reduce()的使用

记录Array.prototype.reduce()的使用

作者: Weastsea | 来源:发表于2020-04-16 16:01 被阅读0次

每次看到这个api ,就有点发懵,今天详细解析下此属性。还是先看官方文档吧:

Reduce方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。

reducer 函数接收4个参数:

Accumulator (acc) (累计器)
Current Value (cur) (当前值)
Current Index (idx) (当前索引)
Source Array (src) (源数组)

您的 reducer 函数的返回值分配给累计器,该返回值在数组的每个迭代中被记住,并最后成为最终的单个结果值。

arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])

nitialValue可选
作为第一次调用 callback函数时的第一个参数的值。 如果没有提供初始值,则将使用数组中的第一个元素。 在没有初始值的空数组上调用 reduce 将报错。

项目中的运用

histryFilters: histryList.filterList.reduce((obj, item) => {
                if (item.type !== 'button') {
                    obj[item.key] = ''
                }
                return obj
            }, {}),

filters: list.filterList.reduce((obj, item) => {
                if (item.type !== 'button') {
                    obj[item.key] = ''
                }
                return obj
            }, {}),

const keyValueMap = totalMap.reduce((e, i) => {
                    e[i.value] = i.label
                    return e
                }, {})

相关文章

网友评论

      本文标题:记录Array.prototype.reduce()的使用

      本文链接:https://www.haomeiwen.com/subject/bzqfqhtx.html