JavaScript数组迭代与归并方法详解

作者:纸飞机

时间:2026-10-30

浏览:394

本文详解JavaScript中数组的迭代与归并方法。迭代方法包括every、filter、forEach、map及same,用于遍历并处理数组元素;归并方法包含reduce和reduceRight,用于累积计算。文章介绍了各方法的参数、返回值及作用域设置,并附带代码示例说明具体应用。

文章目录

JavaScript数组迭代方法

迭代方法

在JavaScript中,迭代方法具有极高的实用性,能够满足多种实际开发需求。JavaScript原生提供了五种迭代方法供开发者使用,具体如下:

every():该方法对数组中的每一项执行给定的回调函数,仅当所有项均返回true时,最终结果才为true。

filter():该方法对数组中的每一项执行给定的回调函数,将返回值为true的项收集起来,组成一个新数组并返回。

forEach():该方法对数组中的每一项执行给定的回调函数,不返回任何值(undefined)。

map():该方法对数组中的每一项执行给定的回调函数,并将每次调用的结果收集起来,组成一个新数组返回。

same():该方法对数组中的每一项执行给定的回调函数,只要数组中存在至少一项返回true,最终结果即为true。

上述五种方法均接受两个参数:第一个是执行函数,即需要对数组每一项进行操作的回调函数。该回调函数包含三个参数:当前数组项的值、该项在数组中的索引位置、以及数组对象本身。第二个参数是可选的作用域对象,用于指定回调函数内部this的指向。例如:

迭代方法代码示例


var values = [5,6,7,8,9,10,11,12,13];
 
function actionfunc(item, index, array){console.log(this)};
 
values.every(actionfunc,document); //这里会向控制台输出6次document对象

JavaScript数组归并方法

归并方法

除了迭代方法外,JavaScript还提供了两种归并(Reduce)方法。归并操作的本质是将数组元素通过指定函数进行累积合并,最终返回一个单一的值。这两种归并方法分别为:

reduce():该方法从数组的第一项开始,按顺序(正向)对每一项执行给定的回调函数,最终返回所有项执行回调函数后的累积结果。

reduceRight():该方法从数组的最后一项开始,按逆序对每一项执行给定的回调函数,最终返回所有项执行回调函数后的累积结果。

上述两种归并方法均接受两个参数:第一个是执行函数,即需要对数组每一项进行操作的回调函数。该回调函数包含四个参数:前一个累积值、当前数组项的值、当前项的索引、以及数组对象本身。第二个参数是归并的初始基值,计算将基于此值开始。例如:

归并方法代码示例


var values = [5, 6, 7, 8, 9, 10, 11, 12, 13];
 
values.reduce(function(preitem,item,index,array){return preitem+item},2) //返回数值83

以上关于JavaScript中迭代与归并方法的介绍即为全部内容,希望能为读者提供有价值的参考。

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章