Javascript的数组(js数组倒序)

遍历数组是任何语言都不可缺少的功能。 本文主要介绍在JavaScript中遍历数组的各种方法。

首先,定义数组,如下图所示。

1、every函数:

arr.every (callback (current value,index,array ) [,thisArg] )

测试数组中的所有元素是否都通过了指定函数的测试

callback用于测试每个元素的函数。

thisArg是可选的。 如果为every指定thisArg参数,则该参数为调用callback时的this值。 如果省略此参数,则调用callback时的this值在非严格模式下为全局对象,在严格模式下传递给未定义的。

currentValue :元素值、索引:元素索引、阵列:原始数组

every不更改原始数组。 如果callback函数返回false,则循环结束如下:

打印结果如下。

2、some函数:

arr.some (callback (current value,index,array ) [,thisArg] )

currentValue :元素值、索引:元素索引、阵列:原始数组

some不更改原始数组。 与every不通的是,如果callback函数返回true,则循环结束。 以下是示例。

打印结果如下。

3、forEach函数:

arr.foreach (callback (current value,index,array ) [,thisArg] )

对每个元素执行callback函数,直接修改原始数组。 没有返回值,不能在循环中停止。 以下是示例。

打印结果如下。

4、map函数:

arr.map (callback (current value,index,array ) [,thisArg] )

返回已处理的新数组,而不破坏原始数组。 请注意,必须在callback函数中返回currentValue。 也就是说,map使用每个循环返回的值作为元素配置新数组,并且无法在循环中停止。 以下是示例。

打印结果如下。

5、filter函数:

arr.filter (callback (element,index,arrArg ) [,thisArg] )

对于数组中的每个元素,一次运行指定的函数” callback “,并创建一个新数组,该数组是执行回调函数时返回值为true的原始数组元素。 以下是示例。

打印结果如下。

6、reduce函数:

arr.reduce (呼叫后退(accumulator,currentValue,currentIndex,array ),initialValue ) )。

方法将函数从左到右应用于累加器和数组中的每个元素,然后将其减少为一个值,并返回函数累计处理的结果。

参数说明:

callback :执行数组中每个值的函数。 包括四个参数

accumulator上次调用回调时返回的值,或提供的初始值(initialValue )

当前值数组中正在处理的元素

当前索引数据中正在处理的元素索引。 如果提供了initialValue,则从0开始; 否则从1开始

初始值选项。 值用于调用callback的第一个参数。 如果未设置初始值,则数组的第一个元素将用作初始值。 如果空数组在调用reduce时不设置初始值,则会发生错误。 以下是示例。

打印结果如下。

7、for循环:

for循环是一种使用频率高的方法,效率也高。 如果数据量大,建议使用此方法。 可以在break语句中跳过循环,也可以在continue语句中跳过当前循环,如下例所示。

打印结果如下。

请注意,for循环不支持return语句。 如果采用以下写法,就会报告错误。

打印结果如下。

for方法有以下两种变体,但效率不高:

这种方式效率最低

需要ES6支持,性能优于forin,但比不上常规的for循环

虽然js数组遍历函数很多,但是有各自的用途,所以希望在写项目代码的过程中尝试各种各样。 如果不知道选择哪一个,或者重视效率,通常的for循环是最佳的。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注