JS reduce 用法

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

  语法:

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

参数

参数 描述
function(total,currentValue, index,arr) 必需。用于执行每个数组元素的函数。
函数参数:
参数 描述
total 必需。初始值, 或者计算结束后的返回值。
currentValue 必需。当前元素
currentIndex 可选。当前元素的索引
arr 可选。当前元素所属的数组对象。
initialValue 可选。传递给函数的初始值

ES6,之前繁杂的写法

例;我们想遍历数组中的元素做拼接或者累加操作


    
    

ES6 执行同样操作写法,可以大大减少我们的代码量,以及提高代码的可阅读性

        /*
        参数1.prev 上一次返回的值,
        参数2.item 本次的值,
        参数3.最后一个参数(prev初始值),涉及到一个对象类型,例如如果原数组里面存的是数字,最后一个参数传空数组[]的时候,
        默认数据是字符串拼接,这时候返回值也就是123456
        如果我们想做到里面的数组迭代相加,那我们在最后的参数传一个数字类型的参数,例如我们传0,这时候就按照数字相加,
        这里还需要注意的就是传的时候不能加" "如果加了引号还认为是字符串的拼接   
        */
        let sum = [1, 2, 3, 4, 5, 6].reduce((prev, item) => { return prev + item }, 1);
  这里需要注意的是最后一个参数, initialValue,类型的选择如文中红色标注的传入相应类型就会暗转相应类型的数据去进行操作。

你可能感兴趣的:(JS)