数组遍历方法

let arr = [ 'a', 'b', 'c', 'a' ]

1. indexOf()   遍历数组,返回元素在数组中第一次出现的下标

里面接收2个参数.参数1是要查找的元素,参数2是开始查找的下标

  arr.indexOf( 'a',1 )  // 3

分析: 查找字符串a在数组里第一次出现时的下标,从数组的下标1开始查找,第一次出现时为下标3.

2. forEach()  遍历数组获取每一个元素,没有返回值

参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标

 arr.forEach(function( item, index){ })

3. map()  遍历数组,返回一个新数组,数组由参数里的返回值组成.必须使用return.

参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标

举例1:   

let res = arr.map(function(item){ 

        return   item == 'a' 

 }) ;

 console.log(res)   ;    //[true, false, false]

举例2:   

 let res = arr.map(function(item, index){ 

        return   item.index 

 }) ;

  console.log(res)  ;      //[0,1,2,3]

4. filter() 遍历数组,返回一个新数组:新数组由参数里,条件为true的元素组成.

参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标

let res = arr.filter(function(item, index){

              return item.index >= 2

        });

 console.log(res)  ; // [ 'c' ,'a' ]

5. some()  遍历数组,返回参数函数里符合条件的元素,只要检测到有一个元素符合条件就return.

参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标

let res = arr.some(function(item, index){

              return item.index >= 2

        });

console.log(res)  ; //   c

应用: 遍历购物车,判断商品id是否在购物车里存在,没有就加入id,有就增加数量

6. every()  遍历数组,判断数组元素是否全部符合函数参数里的条件,全部满足返回true,否则false.

参数为一个函数,函数的形参1代表数组元素,形参2代表元素下标

let res = arr.every(function(item, index){

              return item.index >= 2

        });

console.log(res)  ;  //false

应用:全选功能,只要有一个没有被选中,就取消全选按钮的选中状态.

7. reduce() 遍历数组, 返回参数函数里的返回值.一般作为累加器计算总价 

情况1.只有一个函数作为参数1时,函数的形参1代表数组的第一个元素,形参2代表剩余所有元素

let arr=[1,4,7,2,9]

let res = arr.reduce(function(firstItem, item){

            return firstItem += item

        })

        console.log(res)  //23

 情况2.参数1是一个函数,参数2代表函数的形参1的值,此时函数的形参2就代表数组所有元素

var res = arr.reduce(function(firstItem, item){

            console.log(item)

        }, 0)

        console.log(res)

// 0是给firstItem设置的值,现在item表示所有数组元素

 8. for  of  遍历数组/字符串

 for( let item of arr ){

            console.log(item)

        }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值