JavaScript数组forEach方法详解:语法、参数与注意事项

作者:拾光

时间:2026-10-26

浏览:363

本文详细介绍JavaScript中数组的forEach方法。涵盖其基本语法、回调函数的三个参数(当前值、索引、原数组)以及可选的thisArg参数用法。重点说明forEach无法使用break或return提前终止循环的限制,并对比推荐使用for循环处理需提前退出的场景。

文章目录

前言

在JavaScript中,数组遍历提供了多种实现方式,其中一种常见的方式是使用forEach方法进行遍历。

参考MDN官方文档。

语法:

arr.forEach(callback(currentValue [, index [, array]])[, thisArg])

参数:

  • callback

为数组中每个元素执行的函数,该函数接收一至三个参数:currentValue数组中正在处理的当前元素。index 可选数组中正在处理的当前元素的索引。array 可选forEach() 方法正在操作的数组。

  • thisArg 可选

可选参数。当执行回调函数 callback 时,用作 this 的值。

在forEach中传入一个callback函数,该函数最多可以接收三个值,分别为当前正在遍历的值、当前值对应的索引以及当前数组本身。

小试

现在有一个场景,我和我的室友们,现在在一个数组里面。 按照排行分别为: 老大,老二,老三, … ,老六, 小七.

var arr = ['Liu laoda', 'Li laoer', 'Wei laosan', 'Frank', 'Guan laowu', 'Yang laoliu', 'Li xiaoqi'];

// 在 forEach 中 传入 一个function ,接收两个参数
arr.forEach(function(name,index){
  console.log(name, ' - ',index);
})

结果如下: 第一个参数就是 当前遍历的元素,第二参数为当前元素的索引

前言

注意: forEach() 为每个数组元素执行一次 callback函数 ,即每个元素都会执行一次callback函数

来看看回调函数的第三个参数 ,表示 就是这个数组本身。

var arr = ['Liu laoda', 'Li laoer', 'Wei laosan'];

arr.forEach(function(name,index,person){
  console.log(name, ' - ',index);
  console.log(person);
})

前言

还有一个参数 thisArg 这个参数

当回调函数执行的时候, 回调函数中 使用this 就是这个值。来看一个例子

var arr = ['Liu laoda', 'Li laoer', 'Wei laosan'];

// thisArg 此时传入  {'name':'frank'},当回调函数执行的时候,this 就是这个值。
arr.forEach(function(name,index){
  console.log(this);
},{'name':'frank'})

前言

如果省略了 thisArg参数,或者其值为 null 或 undefined,this 则指向全局对象。

var arr = ['Liu laoda', 'Li laoer', 'Wei laosan'];
// 没有传thisArg 参数
arr.forEach(function(name,index){
  // 此时是window
	console.log(this);
})

前言

使用forEach注意事项

除了抛出异常以外,没有办法中止或跳出 forEach()循环。如果你需要中止或跳出循环,forEach()方法不是应当使用的工具。

forEach不支持break这种语句退出循环。

如果你想在遍历数组的过程中想要提前终止循环,就不要使用forEach遍历,可以使用for循环来遍历数组.

例如:我只想遍历到i==0的时候,提前终止循环

var arr = ['Liu laoda', 'Li laoer', 'Wei laosan'];
for (let i = 0; i < arr.length; i++) {
    if (i === 1) {
        break;
    }
    console.log(arr[i],'-', i);
}

// Liu laoda - 0

到此这篇关于Javascript数组的forEach方法详细介绍的文章就介绍到这了,更多相关JS forEach内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章