转自:JavaScript 数组遍历的五种方法

这篇文章主要介绍了JavaScript 数组遍历的五种方法,帮助大家更好的理解和学习使用JavaScript,感兴趣的朋友可以了解下

在使用 JavaScript 编写代码过程中,可以使用多个方法对数组进行遍历;包括 for循环、forEach循环、map 循环、forIn循环和forOf循环等方法。

一、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 4console.log(arr[i]); //a b c d e
}

二、forEach() 方法:使用回调函数

forEach() 这是数组对象的一个方法;其接受一个回调函数为参数。

回调函数中有三个参数:

  • 1st:数组元素(必选)
  • 2nd:数组元素索引值(可选)
  • 3rd:数组本身(可选)
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 4console.log(arr);  // ['a','b','c','d','e']
})

三、map() 方法:使用回调函数

其使用方式和 forEach() 方法相同。

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 weightconsole.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提供了三个新方法:

  • key()是对键名的遍历;
  • value()是对键值的遍历;
  • 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:前端开发
}

六、补充

6.1、break 和 Continue 问题

在 forEach、map、filter、reduce、every、some 函数中 break 和 continue 关键词都会不生效,因为是在function中,但function解决了闭包陷阱的问题。
要想使用 break、continue 可以使用 for、for...in、for...of、while。

6.2、数组和对象

用于遍历数组元素使用:for(),forEach(),map(),for...of 。
用于循环对象属性使用:for...in。

转自:JavaScript 数组遍历的五种方法

JavaScript 数组遍历的五种方法(转)相关推荐

  1. JavaScript数组去重的五种方法

    JavaScript数组去重的五种方法 先简单准备一个数组,用于方法的实验: let array = [1,1,2,3,4,4,1,5,6,6,7,7,7]; console.log(`去重前的数组: ...

  2. PHP数组遍历的五种方法

    for 对于纯数字索引的数组可以通过for循环来遍历数组,但是要注意的是数字索引必须是连续的,否则会获取不到数组中的部分数据.遍历不受数组内部指针影响. <?php $ar1=range('a' ...

  3. List集合遍历的五种方法

    List集合遍历的五种方法: public static void main(String[] args) {List<Integer> list = Lists.newArrayList ...

  4. Java遍历Map五种方法

    一.Map集合遍历日常开发最常使用,简单总结五种方法差异. ①.Iterator+entrySet写法[推荐JDK8以下],Map.Entry是Map接口的内部接口,获取迭代器,然后依次取出每个迭代器 ...

  5. 数组遍历的几种方法及用法

    一.for循环 for(let i = 0;i<arr.length;i++){console.log(arr[i])} 二.forEach方法 forEach是最简单.最常用的数组遍历方法,它 ...

  6. Javascript数组去重的n种方法

    开门见山,直接进入主题. 给定一个数组 arr,要求对数组arr进行去重,返回的结果为nArr. const arr = [1,2,3,4,2,1,2,4,5,2,3,1]; let nArr = [ ...

  7. HashMap遍历的五种方法

    在本文中,我们将通过示例讨论在 Java 上遍历 HashMap 的五种最佳方法. 1.使用 Iterator 遍历 HashMap EntrySet 2.使用 Iterator 遍历 HashMap ...

  8. map集合遍历的五种方法

    package com.jackey.topic; import java.util.ArrayList; import java.util.HashMap; import java.util.Ite ...

  9. chararray遍历_数组遍历的三种方法

    #import //数组遍历(枚举)对集合中的元素依此不重复的进行遍历 int main(int argc, const char * argv[]) { @autoreleasepool { NSA ...

最新文章

  1. 文件操作(ifstream、ofstream、fstream)
  2. linux 消息队列实例
  3. Ardino基础教程 20_红外遥控
  4. P2698-花盆Flowerpot【单调队列】
  5. Java 14:instanceof的模式匹配
  6. vs2010 “最近使用的项目”为空?解决办法!
  7. 一个用于消息队列的并发式php进程管理程序-守护
  8. git21天打卡Day1-linux下安装git
  9. asp.net,Ajax发送异步请求后台修改数据
  10. FileNet 开发资料 官方红皮书
  11. swagger导出接口文档
  12. DSP-28027笔记
  13. H.264中的SPamp;amp;SI帧技术简述
  14. 【最新】2021年注册测绘师考试测绘案例分析真题及答案解析
  15. ThinkPHP中的getLastSql函数---获取上次执行的SQL语句
  16. 老破旧ThinkPad机器装Win7
  17. 学计算机惠普和联想笔记本哪个好,笔记本做得好,未必只有惠普和联想
  18. 求救,华为S5720-36c-ei交换机vlan
  19. 编程开发软件java编程入门到精通,大量教程
  20. wlan从入门到精通第六期STA接入过程

热门文章

  1. linux 默认 使用 root 登录
  2. 【极简版GH60】【GH60剖析】【五】壳和键帽的装配
  3. Vue源码学习——v2.5.8
  4. 浅谈ERP实施应用的流程步骤
  5. Altium Designer 10 (AD10)制作贴片图
  6. oracle p6安装,Primavera P6 Professional 19.12 中文   含详细安装配置教程  修复链接...
  7. tanner2019安装教程
  8. SD女仆–系统清洁工具v4.14.35 [专业版] [Mod Lite] [最新]
  9. 【量化交易】如何搭建本地化量化投研软件系统
  10. 团队管理培训总结(3):团队执行力