博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS函数式编程 数组部分风格 ES6版
阅读量:6188 次
发布时间:2019-06-21

本文共 1127 字,大约阅读时间需要 3 分钟。

遍历数组:

for(let item of array) {    }// FP// return arrayarray.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 arrayarray.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;}// FPlet 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);

更多文章


转载地址:http://iroda.baihongyu.com/

你可能感兴趣的文章
登陆界面
查看>>
返回数据到前一个activity
查看>>
防御性编程技术 (转)
查看>>
Android获取网络数据进行GZIP解压
查看>>
lintcode 442实验Trieste
查看>>
Oracle数据库基本概念理解(1)
查看>>
ios 开发发布证书配置详细流程
查看>>
Python request库与爬虫框架
查看>>
Guzzle php resetful webservice farmework
查看>>
Window7下vagrant的部署
查看>>
1026 最大公约数和最小公倍数
查看>>
php实现2017年京东编程题之异或问题
查看>>
python 迭代器与生成器
查看>>
test
查看>>
为同一元素对象分别用三种绑定事件方式绑定同一种事件
查看>>
【perl】perl教程学习笔记
查看>>
计算机科学基础知识(一)The Memory Hierarchy
查看>>
关注java技术相关公众号
查看>>
ANDROID下面的游戏更新目录
查看>>
实现类似tail -f file功能
查看>>