JS中数组遍历方法foreach,filter,some,every,map方法介绍与总结

利用js可以实现对数组中各个元素的遍历,我们已知的数组遍历的方法有很多,这里只总结了一部分比较常用的方法供大家参考,其他有遗漏的方法以及详细的步骤可以去翻阅官方文档去查询:

1.forEach遍历

缺点:不能使用 break 语句来跳出循环,也不能使用 return 语句来从闭包函数中返回。
代码如下:

 var arr = [1, 2, 3, 4, 5, 6]
     arr.forEach(function(item,index,arr){
            console.log(item);   //数组的每一项 
            console.log(index);   //数组每一项的索引号
            console.log(arr);   //数组
        })

2.filter遍历

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,当然它也是一个数组遍历的方法,与方法一大同小异,代码如下:

	var arr = [1, 2, 3, 4, 5, 6]
    var str = arr.filter(function(itme,index,arr){
        //console.log(item);  //数组的每一项
        //console.log(index);  //数组每一项的索引号
        //console.log(arr);     //数组
       
    return (item > 3)
         })
    console.log(str)   	//[4,5,6]

3.some遍历

some()方法用于检测数组中的元素是否满足指定条件,并会依次执行数组的每个元素,如果有一个元素满足条件则表达式返回ture,剩余元素不会再执行检测,如果没有满足条件的元素,则返回false。代码如下:

	var arr = [1, 2, 3, 4, 5, 6]
	console.log(arr.some(function (item, index, array) {
	console.log('item=' + item + ',index=' + index + ',array=' + array);  
        return item > 3;
        //输出结果如下
        item=1,index=0,array=1,2,3,4,5,6
		item=2,index=1,array=1,2,3,4,5,6
		item=3,index=2,array=1,2,3,4,5,6
		item=4,index=3,array=1,2,3,4,5,6
		true   //当检测到数组中的第四个子元素满足return条件时,后续元素将不再执行检测,这时表达式返回ture
        }));

4.every遍历

every()方法用于检测数组所有元素是否都符合指定条件,使用指定函数检测数组中的所有元素,如果检测到数组中有一个元素不能满足,则整个表达式返回false,且剩余的元素不会再进行检测,如果所有元素都满足条件则返回ture。代码如下:

	var arr = [1, 2, 3, 4, 5, 6]
	console.log(arr.every(function (item, index, array) {
    console.log('item=' + item + ',index=' + index + ',array=' + array);
        return item > 3;
        //输出结果如下:
        item=1,index=0,array=1,2,3,4,5,6
		false   当检测到数组中的第一个子元素无法满足return的条件时,整个表达式返回false,且剩余的元素不会再进行检测
        }));

5.map遍历

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。代码如下:

 	var arr = [0,2,4,6,8]
    var str = arr.map(function(i,a,b){
            //console.log(i);  //数组的每一项
            // console.log(a);  数组每一项的索引号
            // console.log(b);     数组
            return (i / 2)
        })
        console.log(str);   //[0,1,2,3,4]
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值