`
123fly
  • 浏览: 11888 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

forEach 方法

阅读更多

forEach方法:数组中的每个元素执行指定操作。

 

array1.forEach(callbackfn[, thisArg])

 参数

 

 

参数 定义
array1 必选。 一个数组对象。
callbackfn 必选。 最多可以接受三个参数的函数。 对于数组中的每个元素,forEach 都会调用callbackfn 函数一次。
thisArg 可选。 callbackfn 函数中的 this 关键字可引用的对象。 如果省略 thisArg,则 undefined将用作 this 值。

对于数组中出现的每个元素,forEach 方法都会调用 callbackfn 函数一次(采用升序索引顺序)。 将不会为数组中缺少的元素调用回调函数。

1.下面的示例阐释了 forEach 方法的用法。

js代码

 

function ShowResults(value, index, ar) {
    document.write("value: " + value);
    document.write(" index: " + index);
    document.write("<br />");
}

// Create an array.
var letters = ['ab', 'cd', 'ef'];

// Call the ShowResults callback function for each
// array element.
letters.forEach(ShowResults);

// Output:
//  value: ab index: 0 
//  value: cd index: 1 
//  value: ef index: 2 

 2.在下面的示例中,callbackfn 参数包含回调函数的代码。

js代码

 

// Create an array.
var numbers = [10, 11, 12];

// Call the addNumber callback function for each array element.
var sum = 0;
numbers.forEach(
    function addNumber(value) { sum += value; }
);

document.write(sum);
// Output: 33

 3.下面的示例阐释了 thisArg 参数的用法,该参数指定可对其引用 this 关键字的对象。

js代码

 

// Define the object that contains the callback function.
var obj = {
    showResults: function(value, index) {
        // Call calcSquare by using the this value.
        var squared = this.calcSquare(value);

        document.write("value: " + value);
        document.write(" index: " + index);
        document.write(" squared: " + squared);
        document.write("<br />");
    },
    calcSquare: function(x) { return x * x }
};

// Define an array.
var numbers = [5, 6];

// Call the showResults callback function for each array element.
// The obj is the this value within the 
// callback function.
numbers.forEach(obj.showResults, obj);

// Embed the callback function in the forEach statement.
// The obj argument is the this value within the obj object.
// The output is the same as for the previous statement.
numbers.forEach(function(value, index) { this.showResults(value, index) }, obj);

// Output:
//  value: 5 index: 0 squared: 25
//  value: 6 index: 1 squared: 36
//  value: 5 index: 0 squared: 25
//  value: 6 index: 1 squared: 36

 

 

分享到:
评论

相关推荐

    C#并发实战记录之Parallel.ForEach使用

    为了优化计算速度,使用了Parallel.ForEach方法,实现了并发计算,缩短了计算时间。 二、Parallel.ForEach的使用方法 Parallel.ForEach是一个并发执行集合中的元素的方法,可以对集合中的每个元素执行一系列操作。...

    JS forEach和map方法的用法与区别分析.docx

    需要注意的是,forEach和map方法的参数顺序不同,forEach方法的参数顺序为(callback, this),而map方法的参数顺序为(callback[, thisArg)。 三、一些栗子 3.1 迭代时的修改 在使用forEach和map方法时,需要...

    Javascript数组循环遍历之forEach详解

    兼容IE的forEach方法 为了在IE浏览器中使用`forEach`方法,可以通过为Array的原型添加方法的方式实现: ```javascript if(!Array.prototype.forEach){ Array.prototype.forEach = function(callback, thisArg) {...

    When To Use Parallel-ForEach Or PLINQ.pdf

    Parallel类的ForEach方法是C#中常见循环构造(foreach循环)的多线程实现。回想一下,foreach循环允许你迭代使用IEnumerable表示的可枚举数据集。Parallel.ForEach类似于foreach循环,因为它迭代一个可枚举数据集,...

    05-for-vs-forEach.md

    然而,forEach方法在每次迭代中都会创建一个新的函数对象,这不仅增加了内存的使用,也会带来额外的性能开销。 那么,从性能角度来看,for循环通常会比forEach方法更快。原因在于for循环的执行过程更为直接,不需要...

    angular forEach方法遍历源码解读

    在AngularJS中,`forEach`方法是一个非常实用的工具,用于遍历对象和数组。它在内部实现上考虑了各种不同的数据类型和浏览器兼容性,确保了遍历的稳健性。接下来,我们将深入探讨`forEach`方法的工作原理,以及如何...

    C# 修改list所有对象中的某字段

    Lambda表达式和ForEach方法是实现这一目标的常用工具。下面将详细介绍这两种方法。 **Lambda表达式** Lambda表达式是C# 3.0引入的一种简洁的匿名函数表示法,它允许我们以更简洁的方式编写代码,特别是在处理集合...

    javascript forEach函数实现代码

    代码如下: function forEach(object, block, context, fn) { if (object == null) return;...= arguments.callee) { //如果目标已经实现了forEach方法,则使用它自己的forEach方法(如标准游览器的A

    JavaScript使用类似break机制中断forEach循环的方法

    JavaScript数组对象,有一个forEach方法,可枚举每一个数组元素,但并不支持类似for循环的break语法,中断循环: [1,2,3].forEach(function(item) { // if(!item) break; 不支持 }); 解决办法,可抛出一个特殊异常...

    C#在foreach遍历删除集合中元素的三种实现方法

    在foreach中删除元素时,每一次删除都会导致集合的大小和元素索引值发生变化,从而导致在foreach中删除元素时会抛出异常。 集合已修改;可能无法执行枚举操作。 方法一:采用for循环,并且从尾到头遍历 如果...

    JS forEach和map方法的用法与区别分析

    首先,forEach方法是数组的内置方法,它没有返回值,或者更准确地说,返回值是undefined。这意味着不能在forEach方法调用后面直接链式调用其他数组方法。与之不同的是,map方法会创建一个新数组,其中包含了对原数组...

    java精典编程100例 14

    2. **定义forEach方法**:接下来,使用`forEach`方法遍历集合或数组中的每个元素。在Java 8中,可以使用Lambda表达式来定义遍历操作的具体逻辑。 3. **具体操作**:在Lambda表达式中,可以根据需求对元素进行不同的...

    总结javascript中的六种迭代器

    forEach方法接收一个函数作为参数,对数组中每个元素使用这个函数,只调用这个函数,数组本身没有任何变化 //forEach迭代器 function square(num){ [removed](num + ' ' + num*num + ' '); } var nums = [1,2,3...

    浅析Java 8中的集合遍历.pdf

    本文主要回顾了迭代器,着重分析了主动式迭代器和被动式迭代器之间的差异,研究了Java 8的foreach方法和Stream API如何改进和并行化Java迭代器的行为,然后对主动迭代、流和并行流这三种方法进行了性能比较。...

    javascript forEach通用循环遍历方法

    JavaScript中的forEach方法是一种常用的数组遍历方式,它为数组提供了一个简单的迭代接口,使得开发者可以对数组中的每一个元素执行一个函数。然而,标准的forEach方法在一些情况下存在功能局限性,例如它不允许在...

    全面解析JavaScript里的循环方法之forEach,for-in,for-of

    在JavaScript中,有三种主要的循环方法:`forEach`、`for-in`和`for-of`,每种都有其特定的用途和特点。 `forEach`方法是ES5引入的一个数组方法,简化了对数组元素的遍历。例如: ```javascript myArray.forEach...

    怎么break java8 stream的foreach

    `forEach` 方法是 Stream API 提供的一个便利的消费操作,它的基本语法是 `stream.forEach(action)`,其中 `action` 是一个 Consumer 实例,用于定义对每个元素执行的动作。但 `forEach` 不支持在遍历过程中中断,...

    Mybatis批量foreach merge into的用法

    Mybatis批量foreach merge into的用法是通过Mybatis的动态SQL语法foreach循环插入实现的,这种方法可以批量插入时间价格表数据。如果某个套餐的某天的价格存在,则更新,不存在则插入。下面是该方法的详细介绍: ...

Global site tag (gtag.js) - Google Analytics