JavaScript中数组的reduce()方法和concat方法

定义和用法:
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
注意: reduce() 对于空数组是不会执行回调函数的。
语法:

array.reduce(function (total, currentValue, currentIndex, arr), initialValue)

在这里插入图片描述

例子(重点在注释):

var array = [4, 5, 6, 7, 8];

var singleVal = 0;

singleVal = array.reduce(function(a, b) {

return a + b ;

}, 0)

//语法:array.reduce(function(total, currentValue,currentIndex, arr), initialValue)

//total是初始值, 或者计算结束后的返回值。

//currentValue是当前元素。

//initialValue是传递给函数的初始值。

//currentIndex是当前元素的索引。即:数组的序号。

//arr是当前元素所属的数组对象。数组中有多少个元素即有多少个数组对象。

执行过程:
① 0 + 4 = 4;
② 4 + 5 = 9;
③ 9 + 6 = 15;
④ 15 + 7 = 22;
⑤ 22 + 8 = 30;

由此看出,
reduce方法有两个参数,第一个参数是一个callback,用于针对数组项的操作;第二个参数则是传入的初始值,这个初始值用于单个数组项的操作。需要注意的是,reduce方法返回值并不是数组,而是形如初始值的经过叠加处理后的操作。
reduce方法最常见的场景就是叠加。

![在这里插入图片描述](https://img-blog.csdnimg.cn/7be2b8619f8d4db88726631e2af80e1c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6Zif5Y-L5LiA55u05Y-r5oiR5pKk,size_12,color_FFFFFF,t_70,g_se,x_16)

定义和用法
concat() 方法用于连接两个或多个数组。
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
语法

arrayObject.concat(arrayX,arrayX,......,arrayX)

参数描述
arrayX必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。
返回值
返回一个新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。
注:文章中的定义等专业概念来自W3school 及 http://www.runoob.com 网站。

转载:(https://www.jianshu.com/p/8391c5a884da)

Guess you like

Origin blog.csdn.net/a123789999/article/details/120082528