ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JavaScript里面9种数组遍历!

2019-09-13 11:02:15  阅读:174  来源: 互联网

标签:arr 遍历 console log newarr JavaScript 数组 var return


​大家好,我在这里总结分享了JavaScript中的闹腾的数组循环家族。

1、大家最常用的for循环,我就不解释了;

for(let i = 0; i < 5 ; i++){
    console.log(i)   // 结果 0 - 4
}

  

2、forEach,用法其实和for循环一样;

var arr = [1,2,3,4]
arr.forEach(e =>{
    console.log(e) //  结果1 -4
})

  

进入下面两个循环之前,先教大家一个口诀,删filter改map

 

3、filter,删除不符合条件的参数;必须有返回,结果只能是boolean类型,

是true就删除,false就留下;

var arr = [1,2,3,4]
let newarr = arr.filter(e =>{
    return e != 2  //  判断e(arr) 不是2的才会输出
})
console.log(newarr) //  1,3,4

  

4、map,只修改数组里面的值,不删除参数;

var arr = [1,2,3,4]
let newarr = arr.map(e =>{
    if(e == 2){ // 如果e(arr)里面的值是2,就进来执行,变成'二'
        return '二'
    }
    return e;
})
console.log(newarr)  //  [1, "二", 3, 4]

  

5、some,有一个符合条件就返回true,否则就返回false;

var arr = [1,2,3,4]
var newarr = arr.some(e =>{
    return e < 2 
})
console.log(newarr) //  e(arr),里面有参数小于2的,所有返回true;

  

6、every,l所有条件都符合才返回true,否则返回false;

var arr = [1,2,3,4]
var newarr = arr.every(e =>{
    return e > 0
})
console.log(newarr) //   e(arr),里面所有参数都大于0,所以返回true;

 

7、reduce,可用作快速求和,求阶乘,从左往右;

var arr = [1,2,3,4]
var newarr = arr.reduce((e,v) =>{
    return e += v
})
console.log(newarr) //  10
 

8、reduceRight,从右往左;........

var arr = [1,2,3,4]
var newarr = arr.reduceRight((e,v) =>{
    return e += v
})
console.log(newarr) //  10

 

9、for or 

const arr = ['mini', 'mani', 'mo'];
for (let val of arr) {
    console.log(val);  //  数组值:mini mani mo 
}
for (let index of arr.keys()) {
    console.log(index);//  数组x下标
}
for (let item of arr.entries()) {
    console.log(item); //  数组下标和值
}

 

如果喜欢您,大家可以关注下“前端伪大叔”公众号,将会定期为您推送前端的知识点!谢谢!

标签:arr,遍历,console,log,newarr,JavaScript,数组,var,return
来源: https://www.cnblogs.com/webfy/p/11516300.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有