【JavaScript 教程】第六章 数组13— forEach() :遍历数组元素

ee9f6247af7ab0b2cb5351669131ec77.png

英文 | https://www.javascripttutorial.net/

译文 | 杨小爱

在上节,我们学习如何使用 JavaScript Array map() 方法来转换数组中的元素,错过的小伙伴可以点击文章《 【JavaScript 教程】第六章 数组12— map() :转换数组元素》进行学习。

那么,在今天的教程中,我们一起来学习如何使用 JavaScript Array forEach()方法对数组中的每个元素执行函数。

JavaScript Array forEach()方法介绍

通常,当我们想对数组的每个元素执行一个函数时,我们可以使用for循环语句。

例如,以下代码向控制台显示数组的每个元素:

 
 
let ranks = ['A', 'B', 'C'];
for (let i = 0; i < ranks.length; i++) {
    console.log(ranks[i]);
}

输出:

 
 
A
B
C

JavaScript Array 提供了 forEach() 方法,允许您在每个元素上运行一个函数。

以下代码使用与上面代码等效的 forEach() 方法:

 
 
let ranks = ['A', 'B', 'C'];


ranks.forEach(function (e) {
    console.log(e);
});

输出:

 
 
A
B
C

forEach() 方法迭代数组中的元素并为每个元素执行一次预定义函数。

下面说明了 forEach() 方法的语法。

 
 
Array.forEach(callback [, thisArg]);

forEach() 方法有两个参数:

1) 回调

forEach() 方法用于在每个元素上执行的回调函数。

回调接受以下参数:

  • currentElement:是当前正在处理的数组元素。

  • index:当前元素在数组中的索引。

  • array:调用 forEach() 方法的数组。

索引和数组是可选的。

2) thisArg

thisArg 是执行回调时用作 this 的值。

请注意,forEach() 函数返回 undefined,因此,它不像filter()、map()、some()、every() 和 sort()方法一样可链接:。

与 for 循环相比,forEach() 方法的一个限制是,我们不能使用 break 或 continue 语句来控制循环。

我们要终止 forEach() 方法中的循环,必须在回调函数内抛出异常。

更多 JavaScript Array forEach() 方法示例

让我们看一个使用 contextObject 的 forEach() 方法的示例。

下面举例说明 Counter 构造函数:

 
 
function Counter() {
    this.count = 0;
    let self = this;
    return {
        increase: function () {
            self.count++;
        },
        current: function () {
            return self.count;
        },
        reset: function () {
            self.count = 0;
        }
    }
}

此示例显示如何将计数器对象传递给 forEach() 方法。

 
 
var counter = new Counter();
var numbers = [1, 2, 3];
var sum = 0;
numbers.forEach(function (e) {
    sum += e;
    this.increase();
}, counter);


console.log(sum); // 6
console.log(counter.current()); // 3

它们是怎么运行的。

  • 首先,创建一个新的 Counter 对象。

  • 接下来,定义一个由三个数字组成的数组。

  • 然后,声明一个变量 sum 并将其赋值为零。

  • 之后,在 numbers 数组上调用 forEach() 方法。在回调函数中,将元素添加到 sum 变量中,并调用 counter 对象的 increase() 方法。请注意,counter对象this在回调函数中被引用。

  • 最后,在 Web 控制台中记录计数器的总和值和当前值。

在本教程中,我们学习了如何使用 JavaScript Array forEach() 方法对数组的每个元素执行回调。

今天的内容就到这里了。

如果您还想学习更多关于数组的内容,请点击下文链接进行学习。

【JavaScript 教程】第六章 数组12— map() :转换数组元素

【JavaScript 教程】第六章 数组11— filter() :过滤数组中的元素

【JavaScript 教程】第六章 数组10— sort() :对数组中的元素进行排序

【JavaScript 教程】第六章 数组09— some() :检查数组中是否至少有一个元素通过了测试

【JavaScript 教程】第六章 数组08— every() :检查数组中的每个元素是否都通过了测试

【JavaScript 教程】第六章 数组07— index() :在数组中定位一个元素

【JavaScript 教程】第六章 数组06— slice() :复制数组元素

【JavaScript 教程】第六章 数组05— splice():删除、插入和替换

【JavaScript 教程】第六章 数组04— JavaScript 队列

【JavaScript 教程】第六章 数组03— Stack :使用 Array 的push()和pop()方法实现堆栈数据结构

【JavaScript 教程】第六章 数组02— Array Length:如何有效地使用数组的长度属性

【JavaScript 教程】第六章 数组01— 介绍JavaScript中的Array类型

学习更多技能

请点击下方公众号

b1f7272cc3e3bdd1cfaf5066e8ce2506.gif

b8d03653922d97965abdce26b1489150.png

427349ee66f1f25eaed2de8022ee4a9e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值