前言
在工作中, 我们经常处理基本数据类型, 其中数组更是天天见面, 所以在这里, 我总结了一下, 准备写一下关于数组遍历的常见方法, 闲话少说, 请往下看!
测试用例
- let arrA = [1, 2, 3, 4, 5];
- let arrB = [1, '2', null, undefined, {}];
- let arrC;
forEach: 让每一个数据都做一件事情
- arrA.forEach((obj, idx) => {
- console.log(obj, idx);
- });
- // 结果如下
- 1 0
- 2 1
- 3 2
- 4 3
- 5 4
map: 通过某种运算得到一个新数组
- arrC = arrA.map((obj, idx) => {
- return obj * 2;
- });
- console.log(arrC); //
- // 结果如下
- [2,4,6,8,10]
filter: 筛选符合条件的选项, 组成新数组
- arrC = arrA.filter((obj, idx) => {
- return obj % 2 === 0;
- });
- console.log(arrC);
- // 结果如下
- [2,4]
reduce: 让数组中的前项和后项做某种运算, 并累计最终值
- arrC = arrA.reduce((prep, next) => {
- return prep+next;
- });
- console.log(arrC);
- // 结果如下
- 15
every: 检测数组中的每一项是否符合条件, 全部为真才返回真
- arrC = arrB.every((obj, idx) => {
- return obj !== null;
- });
- console.log(arrC);
- // 结果如下
- false
some: 检测数组中的每一项是否符合条件, 有一个为真就返回真
- arrC = arrB.some((obj, idx) => {
- return obj === undefined;
- });
- console.log(arrC);
- // 结果如下
- false
结束语
这六种方法其实不怎么好记, 所以我给他们每一个方法配了一个说明, 这样子应该可以让大家很容易的记下来这六种方法, 如果本文对您有帮助的话, 请不要吝啬一个小红心哦~ 让我帮到更多的人
说明
原创作品, 禁止转载和伪原创, 违者必究!
来源: http://www.jianshu.com/p/cfced7d23c82