返回顶部
首页 > 资讯 > 前端开发 > JavaScript >如何使用遍历数组:for、for-in、forEach、for-of
  • 374
分享到

如何使用遍历数组:for、for-in、forEach、for-of

2024-04-02 19:04:59 374人浏览 泡泡鱼
摘要

这篇文章主要讲解了“如何使用遍历数组:for、for-in、forEach、for-of”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用遍历数组:fo

这篇文章主要讲解了“如何使用遍历数组:for、for-in、forEach、for-of”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用遍历数组:for、for-in、forEach、for-of”吧!

for 循环:

for (let index=0; index < someArray.length; index++) {   const elem = someArray[index];   // &middot;&middot;&middot; }

for-in 循环:

for (const key in someArray) {   console.log(key); }

数组的 .forEach() 方法:

someArray.forEach((elem, index) => {   console.log(elem, index); });

for-of 循环:

for (const elem of someArray) {   console.log(elem); }

for-of 往往是最好的选择,我们会知道为什么。

for 循环[ES1]

javascript中的普通 for 循环已经很老了,它在ECMAScript 1中就已经存在了。这个 `for`  循环记录了arr的每个元素的索引和值:

const arr = ['a', 'b', 'c']; arr.prop = 'property value';  for (let index=0; index < arr.length; index++) {   const elem = arr[index];   console.log(index, elem); }  // 输出: // 0, 'a' // 1, 'b' // 2, 'c

此循环的优缺点是什么?

  • 它是相当通用的,但可惜的是,当我们要做的是在一个数组上循环时,它也很啰嗦。

  • 如果我们不想从第一个 Array 元素开始循环,它还是很有用的。其他的循环机制都不能让我们这样做。

for-in 循环 [ES1]

for-in 循环和 for 循环一样古老--它在ECMAScript 1中也已经存在。这个 for-in 循环记录了arr的键:

const arr = ['a', 'b', 'c']; arr.prop = 'property value';  for (const key in arr) {   console.log(key); }  // 输出: // '0' // '1' // '2' // 'prop'

for-in 不是循环遍历数组的好选择:

  • 它访问属性键,而不是值。

  • 作为属性键,Array元素的索引是字符串,而不是数字

  • 它访问所有可枚举的属性键(包括自有的和继承的),而不仅仅是Array元素的属性键。

for-in 访问继承的属性确实有一个用例:循环一个对象的所有可枚举属性。

Array方法.forEach() [ES5]

考虑到 for 和 for-in 都不是特别适合在Array上循环,在ECMAScript  5中引入了一个辅助方法:Array.prototype.forEach()。

const arr = ['a', 'b', 'c']; arr.prop = 'property value';  arr.forEach((elem, index) => {   console.log(elem, index); });  // 输出: // 'a', 0 // 'b', 1 // 'c', 2

这个方法真的很方便。它让我们无需做太多事情就能访问 Array 元素和 Array  元素索引。箭头函数(在es6中引入)使这种方法在语法上更加优雅。

.forEach() 的主要缺点是:

  • 你不能在这种循环的“主体”中使用 await。

  • 你不能提早退出 .forEach() 循环,在 for 循环中,我们可以使用 break。

退出.forEach()--一个变通方法

如果你想使用像 .forEach() 这样的循环并提前离开,有一个变通的办法:.some()  也会在所有Array元素上循环,如果它的回调返回一个真值,就会停止。

onst arr = ['red', 'green', 'blue']; arr.some((elem, index) => {   if (index >= 2) {     return true; // break from loop   }   console.log(elem);   // This callback implicitly returns `undefined`, which   // is a falsy value. Therefore, looping continues. });  // 输出: // 'red' // 'green'

可以说,这是对 .some() 的滥用,我不知道这段代码有多容易理解(与 for-of 和 break 相比)。

for-of 循环 [ES6]

在ECMAScript 6中,for-of 循环被添加到JavaScript中。

const arr = ['a', 'b', 'c']; arr.prop = 'property value';  for (const elem of arr) {   console.log(elem); } // 输出: // 'a' // 'b' // 'c'

for-of 非常适合循环遍历数组:

  • 它在数组元素上进行迭代。

  • 我们可以使用 await:而且,如果需要,可以轻松迁移到 for-await-of。

  • 我们可以使用 break 和 continue --即使是外部范围。

for-of 和 iterable 对象

for-of 的另一个好处是,我们不仅可以在Arrays上循环,还可以在任何可迭代对象上循环--例如,在Maps上循环。

const myMap = new Map()   .set(false, 'no')   .set(true, 'yes') ; for (const [key, value] of myMap) {   console.log(key, value); }  // 输出: // false, 'no' // true, 'yes'

在 myMap 上迭代产生 [key, value] 对,我们对其进行解构,以直接访问每个对的组件。

for-of 与 数组下标

数组方法 .entries() 在 [index, value] 对上返回一个可迭代对象。如果使用 for-of  和解构这个方法,我们可以方便地访问Array索引。

const arr = ['chocolate', 'vanilla', 'strawberry'];  for (const [index, elem] of arr.entries()) {   console.log(index, elem); } // 输出: // 0, 'chocolate' // 1, 'vanilla' // 2, 'strawberry'

感谢各位的阅读,以上就是“如何使用遍历数组:for、for-in、forEach、for-of”的内容了,经过本文的学习后,相信大家对如何使用遍历数组:for、for-in、forEach、for-of这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何使用遍历数组:for、for-in、forEach、for-of

本文链接: https://lsjlt.com/news/83210.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用遍历数组:for、for-in、forEach、for-of
    这篇文章主要讲解了“如何使用遍历数组:for、for-in、forEach、for-of”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用遍历数组:fo...
    99+
    2024-04-02
  • es6中数组如何用for of遍历
    这篇文章主要介绍了es6中数组如何用for of遍历的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇es6中数组如何用for of遍历文章都会有所收获,下面我们一起来看看吧。es6中数组可以用for of遍历。“...
    99+
    2023-07-04
  • python如何使用for-in遍历数组与字典
    这篇文章主要介绍了python如何使用for-in遍历数组与字典,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。for-in可以用来遍历数组与字典。words =&n...
    99+
    2023-06-17
  • JavaScript如何避免使用for-in来遍历一个数组
    这篇文章主要为大家展示了“JavaScript如何避免使用for-in来遍历一个数组”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“...
    99+
    2024-04-02
  • JS中for,for...in,for...of和forEach的区别和用法实例
    for循环 基本语法格式:  for(初始化变量;条件表达式;操作表达式){         &n...
    99+
    2024-04-02
  • php不用for如何遍历处理数组
    本文小编为大家详细介绍“php不用for如何遍历处理数组”,内容详细,步骤清晰,细节处理妥当,希望这篇“php不用for如何遍历处理数组”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。php不用for也可用fore...
    99+
    2023-07-05
  • PHP如何使用for循环语句遍历数组
    本篇内容主要讲解“PHP如何使用for循环语句遍历数组”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP如何使用for循环语句遍历数组”吧!一、for循环语句的结构解析for循环会将控制循环次...
    99+
    2023-06-20
  • 怎么使用for命令遍历PHP数组
    在 PHP 中,可以使用 foreach 循环来遍历数组。以下是一个简单的示例: $colors = array("red...
    99+
    2024-04-02
  • PHP循环中如何使用for()方法遍历数组
    这篇文章主要介绍了PHP循环中如何使用for()方法遍历数组,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。for():使用for语句循环遍历...
    99+
    2024-04-02
  • JavaScript中三种for循环语句的使用总结(for、for...in、for...of)
    前言 每个接触JS的开发人员都不可避免的与for循环打交道,毕竟这是遍历必不可少的工具之一。JavaScript 中的 for 循环语句相信大家都已经快用厌了,现在有好多文章都在讲怎...
    99+
    2024-04-02
  • PHP如何使用foreach()遍历数组
    小编给大家分享一下PHP如何使用foreach()遍历数组,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!方法一:foreach(数组名称 as 自定义变量){}f...
    99+
    2023-06-14
  • php如何使用foreach遍历数组
    这篇文章主要介绍了php如何使用foreach遍历数组,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。foreach遍历数组的方法:1、使用“foreach (数组表达式 as...
    99+
    2023-06-15
  • php中for循环能遍历数组吗
    这篇文章主要介绍了php中for循环能遍历数组吗的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php中for循环能遍历数组吗文章都会有所收获,下面我们一起来看看吧。在php中,for循环能遍历数组,语法为“fo...
    99+
    2023-07-04
  • Vue中如何使用foreach遍历数组
    本篇内容介绍了“Vue中如何使用foreach遍历数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在js中遍历数组//定义班次详细数组&n...
    99+
    2023-07-04
  • JS数组遍历中for,forin,forof,map,forEach各自的使用方法与优缺点
    JS数组遍历普通函数 优点:支持流程控制(break、continue、return) for const arr = ["A", "B", "C"] for(let i = 0;...
    99+
    2024-04-02
  • Go中如何使用for循环遍历切片
    在Go中,可以使用for range循环来遍历切片。下面是一个简单的示例: package main import "f...
    99+
    2024-04-02
  • Python-使用for循环遍历文件
    open操作文件r:    以读方式打开,默认就是这个模式w:   以写方式打开a:    以追加模式打开r+:   以读写模式打开w+:  以读写模式打开a+:   以读写模式打开rb:    以二进制读模式打开wb:   以二进制写模式...
    99+
    2023-01-31
    遍历 文件 Python
  • php中for循环能不能遍历数组
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑php中for循环能遍历数组。for循环是几乎所有语言都可以用的一种遍历数组的方式,php语言也不例外。一、for循环语句的结构解析for循环会将控制循环次数的变量预先...
    99+
    2022-11-17
    php for循环
  • 如何在Vue中使用foreach遍历数组
    今天就跟大家聊聊有关如何在Vue中使用foreach遍历数组,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在js中遍历数组//定义班次详细数组  var ...
    99+
    2023-06-15
  • JavaScript如何使用for in判空
    这篇文章将为大家详细讲解有关JavaScript如何使用for in判空,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。for in判空使用for in的话可以当触发循环的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作