JS函数式编程 数组部分风格 ES6版

发布时间:2019-08-09 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JS函数式编程 数组部分风格 ES6版脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

遍历数组:

for(let item of array) {
    
}

// FP
// return array
array.map((item, index) => {})

查找数组中的一项:

for(let item of array) {
    if(item === _item) {
        
    }
}

// FP
// return item 匹配条件的第一项
array.find(item => item === _item)

数组过滤:

for(let item of array) {
    if(item > someValue) {
        
    }
}

// FP
// return array
array.filter(item => item > someValue)

reduce

reduce() 方法接收一个函数作为累加器,数组中的每个值从左到右开始执行方法,最终返回一个值。

array.reduce((preValue, currentValue, index, array) => {}, initialValue);

// fn(fn(fn(initialValue, array[0]), array[1]), array[2])
// 假如array = [1, 2, 3]
// 执行
array.reduce((preValue, currentValue) => preValue + currentValue, 0);
// 执行过程为
// step 1. return 0 + 1
// step 2. return 1 + 2
// step 3. return 3 + 3

求和:

let array = [1, 2, 3, 4, 5];
let sum = 0;
for(let item of array) {
    sum += item;
}

// FP
let sum = array.reduce((pre, cur) => pre + cur, 0);

复杂应用:

// 将'/aaa/bbb/ccc' 解析为 ['/aaa', '/aaa/bbb', '/aaa/bbb/ccc']
const fn = path =>
    path.split('/')
        .map(item => '/' + item)
        .reduce((pre, cur, index) => pre.concat(index < 1 ? '' : pre[index - 1] + cur), [])
        .filter((item, index) => index > 0);

更多文章 yjy5264.github.io


脚本宝典总结

以上是脚本宝典为你收集整理的JS函数式编程 数组部分风格 ES6版全部内容,希望文章能够帮你解决JS函数式编程 数组部分风格 ES6版所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。