数组遍历方法汇总

map

对数组进行遍历,进行一些操作,返回一个新的数组,不影响原数组。

const arr = [1,3,5,7,9]
const newArr = arr.map( item => item + 1)
console.log(arr) //打印原数组[1, 3, 5, 7, 9]
console.log(newArr) //打印新数组[2, 4, 6, 8, 10]

foreach

遍历数组,不影响原数组。

const arr = [1, 3, 5, 7, 9]
arr.forEach((item,index,arr) => {
     console.log(item + 1); //2,4,6,8,10
})
console.log(arr); //[1,3,5,7,9]

filter

筛选出数组中符合条件的项,组成一个新数组,不影响原数组。

var arr = [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15];
var newArr = arr.filter((item,index,arr) => {
    return item % 2 == 0 //返回偶数
})
console.log(newArr) // [2, 4, 6, 8, 10, 12, 14]
console.log(arr)  //  [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

reduce

让数组中的前项和后项做某种计算,并累计最终值

arr.reduce(function(prev,cur,index,arr){
...
}, init);
  • prev——上一次调用回调时的返回值,或者初始值 init
  • cur——当前正在处理的数组元素
  • index——当前正在处理的数组元素的索引
  • arr——原数组
  • init——初始值(默认为0)
    虽然函数的参数很多,但是常用的只有两个:prev和cur

eg:

const arr = [1, 3, 5, 7, 9]
const total = arr.reduce((pre, cur,index,arr) => {
    return pre + cur
},0)
console.log(total);// 25
console.log(arr); // [1, 3, 5, 7, 9]

every

对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true。

var arr = [ 1, 2, 3, 4, 5, 6 ]; 

console.log(arr.every(( item, index, array ) => 
    return item > 3; 
)); 
// false

some

对数组中每一项运行给定函数,如果该函数对任一项返回true,则返回true。

var arr = [ 1, 2, 3, 4, 5, 6 ]; 

console.log(arr.some(( item, index, array ) => 
    return item > 3; 
)); 
// true
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • javascript中数组的22种方法 数组总共有22种方法,本文将其分为对象继承方法、数组转换方法、栈和队列方法...
    裁云作舞衣阅读 212评论 0 0
  • 常用方法速览: 接下来是比较全的、详细的方法用法 1. Array.from() 该方法从一个类似数组或可迭代对象...
    Sun____阅读 510评论 0 1
  • 一、操作方法 数组基本操作可以归纳为 增、删、改、查,需要留意的是哪些方法会对原数组产生影响,哪些方法不会 增 下...
    微笑猪_1210阅读 271评论 0 0
  • 一、数组的迭代方法, 每一个迭代方法的参数都是一个函数,该函数有三个参数:数组项的值,该项在数组中的位置,数组对象...
    再见地平线_e930阅读 302评论 0 1
  • 数组的方法有数组原型方法,也有从object对象继承来的方法,下面就介绍一下数组常用方法:join() --...
    回到唐朝做IT阅读 999评论 1 7