JS数组遍历的几种方法

一、使用for循环遍历数组


const arr = [1, 2, 3, 4];
for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

使用for循环遍历数组是最基本的方法。通过设置循环的初始值和循环条件来遍历数组中的元素。每次循环,我们都会访问下一个元素。

for循环还可以倒序遍历数组。这是因为我们只需要修改循环的初始值和循环条件,使它们反向即可。


for (let i = arr.length - 1; i >= 0; i--) {
  console.log(arr[i]);
}

二、使用forEach遍历数组


const arr = [1, 2, 3, 4];
arr.forEach(function(item) {
  console.log(item);
});

forEach方法是一个数组的函数方法,它将数组中的每个元素传递给回调函数,并依次执行回调函数。它在每个元素上运行回调函数,但它不返回新数组。回调函数的参数包括元素的值、元素的索引和数组本身。

和for循环不同,forEach方法不能跳过或者停止循环,但它在代码可读性上却非常友好。

三、使用map遍历数组并返回新数组


const arr = [1, 2, 3, 4];
const newArray = arr.map(function(item) {
  return item * 2;
});
console.log(newArray);

和forEach方法类似,map方法也是一个数组的函数方法。它将元素传递给回调函数,允许我们修改元素值,最后返回一个新的数组。

map方法最有用处的地方在于不改变原数组。如果需要对原数组进行改变,使用数组的forEach方法或者for循环会更合适。

四、使用for-in遍历数组


const arr = [1, 2, 3, 4];
for (let index in arr) {
  console.log(arr[index]);
}

for-in循环通常用于枚举对象。但是它也可以枚举数组,它会枚举数组元素和属性(包括非数字属性)。如果只是想遍历数组,for-in循环并不是最好的选择。

五、使用for-of遍历数组


const arr = [1, 2, 3, 4];
for (let item of arr) {
  console.log(item);
}

for-of循环是ES6引入的,它是一种用于遍历可迭代对象的循环,包括数组、字符串、Set和Map等。for-of循环提供了一种更简洁、更简单的语法来遍历数组。

六、使用while循环遍历数组


const arr = [1, 2, 3, 4];
let i = 0;
while (i < arr.length) {
  console.log(arr[i]);
  i++;
}

while循环和for循环一样,也可以用于遍历数组。只要设置好退出循环的条件,使用while循环遍历数组同样可行。

七、遍历字符串并转换为数组


const str = 'hello world';
const arr = str.split('');
for (let item of arr) {
  console.log(item.toUpperCase());
}

当需要遍历字符串时,我们可以使用JavaScript的split()方法将它转换为数组,然后使用for-of循环来遍历每一个单独的字符。在这个示例中,我们把字符串中的所有字符转换为大写的形式。

八、使用Array.from()将类数组转换为数组并遍历


const obj = {
  0: 'a',
  1: 'b',
  2: 'c',
  length: 3
};
const arr = Array.from(obj);
for (let item of arr) {
  console.log(item);
}

有些时候,我们需要遍历类数组。虽然类数组不是真正的JavaScript数组形式,但是可以使用Array.from()方法将它转换为真正的JavaScript数组。

九、使用reduce()方法遍历数组并计算元素总和


const arr = [1, 2, 3, 4];
const sum = arr.reduce(function(prev, curr) {
  return prev + curr;
}, 0);
console.log(sum);

reduce()方法也是一个数组的函数方法。它接收一个回调函数,其中前一个元素的结果会传递到下一个元素中。一旦处理完所有元素,reduce()方法将返回一个结果。

在这个示例中,我们使用reduce()方法计算了数组中所有元素的总和。在回调函数中,prev代表前一个元素的结果,而curr代表当前的元素。

十、ES6的解构赋值和剩余运算符遍历数组


const arr = ['a', 'b', 'c', 'd'];
const [first, second, ...others] = arr;
console.log(first, second, others);

ES6的解构赋值和剩余运算符可以帮助我们更容易地遍历和操作数组。

在这个示例中,我们使用解构赋值从数组中提取了前两个元素,并使用了剩余运算符将剩下的元素存入了一个新数组中。

十一、使用for-await-of循环遍历异步生成器生成的数组


async function* generateArr() {
  yield 'a';
  yield 'b';
  yield 'c';
  yield 'd';
}

(async () => {
  for await (let item of generateArr()) {
    console.log(item);
  }
})();

异步生成器是ES2018中引入的新特性之一。在这个示例中,我们创建了一个异步生成器来生成一个数组,然后使用for-await-of循环来遍历这个数组。

在遍历异步生成器生成的数组时,我们使用了(async () => {})()自执行函数,以便在程序中使用async/await语法。

原创文章,作者:VYLT,如若转载,请注明出处:https://www.506064.com/n/149626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
VYLTVYLT
上一篇 2024-11-05 16:53
下一篇 2024-11-05 16:53

相关推荐

  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • Python遍历集合中的元素

    本文将从多个方面详细阐述Python遍历集合中的元素方法。 一、for循环遍历集合 Python中,使用for循环可以遍历集合中的每个元素,代码如下: my_set = {1, 2…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • Python如何遍历字典中的key和value

    本文将详细讲解Python中如何遍历字典中的key和value,包括多种遍历方式以及在遍历过程中的一些应用场景。 一、遍历字典中的key和value 在Python中,字典是一种无…

    编程 2025-04-29
  • 解析js base64并转成unit

    本文将从多个方面详细介绍js中如何解析base64编码并转成unit格式。 一、base64编码解析 在JavaScript中解析base64编码可以使用atob()函数,它会将b…

    编程 2025-04-29
  • Node.js使用Body-Parser处理HTTP POST请求时,特殊字符无法返回的解决方法

    本文将解决Node.js使用Body-Parser处理HTTP POST请求时,特殊字符无法返回的问题。同时,给出一些相关示例代码,以帮助读者更好的理解并处理这个问题。 一、问题解…

    编程 2025-04-29
  • Python二维数组对齐输出

    本文将从多个方面详细阐述Python二维数组对齐输出的方法与技巧。 一、格式化输出 Python中提供了格式化输出的方法,可以对输出的字符串进行格式化处理。 names = [‘A…

    编程 2025-04-29

发表回复

登录后才能评论