JS数组filter、map、reduce函数的详细使用说明

是这样的,想请说下,JS数组filter、map、reduce函数的详细使用说明
最新回答
风清梵

2025-03-26 08:08:49

程序员语录:把时髦的技术挂在嘴边,还不如把过时的技术记在心里。

1 先来概述一下 JS 数组的filter方法

filter() 方法返回数组arr中所有大于8的元素,filter不会影响原数组。

2 JS 数组的map方法

map() 方法返回一个新数组(原数组中的数据也会改变),数组中的元素为原始数组元素调用函数处理后的值。完整的语法如下:

3 JS数组的reduce() 方法

JS数组的 reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

如这里有一组数据如下:

数组执行的reduce函数,回调这里定义的getSum函数,其中 total 为上一次累加的数据。第一次计算时,total 默认取数组中的第一个数据也就是10,num 为数组中的第二个数据10,第一次计算的结果就是20。第二次计算时 total 取值为上一次的计算结果 20,num 为数组中的第三个数据20,本次计算结果为 40。第三次计算时 total 取值为上一次的计算结果 40,num 为数组中的第四个数据20,本次计算结果为 60。数组执行的reduce函数,回调这里定义的getSum函数,并设置了默认的参数值1。第一次计算时,total 默认取数组中的第一个数据也就是1,num 为数组中的第1个数据10,第一次计算的结果就是11。第二次计算时 total 取值为上一次的计算结果 11,num 为数组中的第二个数据10,本次计算结果为 21。第三次计算时 total 取值为上一次的计算结果 21,num 为数组中的第三个数据20,本次计算结果为 41。第四次计算时 total 取值为上一次的计算结果 41,num 为数组中的第四个数据20,本次计算结果为 61。数组执行的reduce函数,回调这里定义的getSum函数,其中参数三 index 是参数二 num 取值的数组角标。完毕