js数组遍历总结

js中的数组遍历是项目中经常用到的,在这里将几种方法做个对比。
for循环:使用评率最高,也是最基本的一种遍历方式。

let arr = ['a','b','c','d','e'];
for (let i = 0, len = arr.length; i < len; i++) {
    console.log(i);       //  0 1 2 3 4
    console.log(arr[i]);  //a b c d e
}

forEach()循环:forEach中传入要执行的回调函数,函数有三个参数。第一个参数为数组元素(必选),第二个参数为数组元素索引值(可选),第三个参数为数组本身(可选)

let arr = ['a','b','c','d','e'];
arr.forEach((item,index,arr)=> {
    console.log(item);   // a b c d e
    console.log(index);  // 0 1 2 3 4
    console.log(arr);    // ['a','b','c','d','e']
})

map循环:map()中传入要执行的回调函数,函数有三个参数。第一个参数为数组元素(必选),第二个参数为数组元素索引值(可选),第三个参数为数组本身(可选)

var arr = [
    {name:'a',age:'18'},
    {name:'b',age:'19'},
    {name:'c',age:'20'}
];
arr.map(function(item,index) {
    if(item.name == 'b') {
        console.log(index)  // 1
    }
})

for...in循环:for...in循环可用于循环对象和数组,推荐用于循环对象,可以用来遍历json

let obj = {
    name: '王大锤',
    age: '18',
    weight: '70kg'
}
for(var key in obj) {
    console.log(key);       //  name age weight
    console.log(obj[key]);  //  王大锤 18 70kg
}
let arr = ['a','b','c','d','e'];
for(var key in arr) {
    console.log(key);  //  0 1 2 3 4 返回数组索引
    console.log(arr[key]) //  a b c d e
}

for...of循环:可循环数组和对象,推荐用于遍历数组。
for...of提供了三个新方法:
1 key()是对键名的遍历;
2 value()是对键值的遍历;
3 entries()是对键值对的遍历;

let arr = ['科大讯飞', '政法BG', '前端开发'];
for (let item of arr) {
  console.log(item); //  科大讯飞  政法BG  前端开发
}
// 输出数组索引
for (let item of arr.keys()) {
  console.log(item);  // 0 1 2
}
// 输出内容和索引
for (let [item, val] of arr.entries()) {
  console.log(item + ':' + val); //  0:科大讯飞  1:政法BG  2:前端开发
}

总结:forEach、map、filter、reduce、every、some 都会有 break 和 continue 不生效的问题,因为是在function中,但function解决了闭包陷阱的问题;要使用 break、continue 可以使用 for、for...in、for...of、while。用于遍历数组元素使用:for(),forEach(),map(),for...of 用于循环对象属性使用:for...in

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • js中的数组遍历是项目中经常用到的,在这里将几种方法做个对比。for循环:使用评率最高,也是最基本的一种遍历方式。...
    紫痕蓝羽阅读 5,182评论 0 0
  • 转载:在开发中,数组的使用场景非常多,平日中也涉及到很多数组的api/相关操作,一直也没有对这块内容进行一块整理总...
    七色烟火阅读 8,509评论 0 3
  • 遍历数组 map map方法的作用在于处理流式数据,比如数组。 map() 方法返回一个新数组,数组中的元素...
    _1633_阅读 5,536评论 0 2
  • 数组和可变性 在Swift中最常见的集合类型非数组莫属。数组是一系列相同类型的元素的有序的容器,对于其中每个元素,...
    为自己丶拼个未来阅读 13,098评论 0 6
  • 碎碎念:从准备考研到现在半年多了每次碰到杜威的教育思想我就跳过,因为实在是太多了,每次都抱着侥幸的心理拖着不背。到...
    Cookieieieiei阅读 1,018评论 0 0

友情链接更多精彩内容