首页 > 代码库 > ECMAScript 5 Array Methods

ECMAScript 5 Array Methods

ECMAScript 5 定义了9个新的数组方法,分别为:

1.forEach();  2.map();  3.filter();  4.every();  5.some();  6.reduce();  7.reduceRight();  8.indexOf();  9.lastIndexOf();

概述:首先,大多数的方法都接受一个函数作为第一个参数,并为数组里的每个元素(或者一些元素)执行这个函数.在稀疏数组中(索引不以0开始,并且元素不连续),不存在的数组元素不调用函数参数.大多数实例中,定义的函数(方法中的参数)包含三个参数:第一个是元素的值,第二个是元素的索引,第三个是数组本身.ECMAScript 5 数组方法不改变调用它们的数组,但是我们自己定义的函数可能会改变数组的值.

forEach():

为数组中的每个元素执行指定操作.

array1.forEach(callbackfn[, thisArg])

参数:

参数

定义

array1

必选。 一个数组对象。

callbackfn

必选。 最多可以接受三个参数的函数。 对于数组中的每个元素,forEach 都会调用 callbackfn 函数一次。

thisArg

可选。 callbackfn 函数中的 this 关键字可引用的对象。 如果省略 thisArg,则 undefined 将用作 this 值。



参数

如果callback参数不是函数对象,则将引发TypeError异常.

备注:

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

除了数组对象之外,forEach 方法可由具有 length 属性且具有已按数字编制索引的属性名的任何对象使用。

回调函数语法:

function callbackfn(value, index, array1)

你可使用最多三个参数来声明回调函数。

 1 //定义回调函数 2 function showResult(val,index,arr){ 3         document.write("value:"+val); 4         document.write("index:"+index); 5         document.write("<br />"); 6 } 7  8 //定义数组 9 var arrays = ["hello","world"];10 11 //调用forEach()12 arrays.forEach(showResult)13 14 //输出15 value:hello index:016 value:world index:1

ECMAScript 5 Array Methods