美文网首页
reduce语法以及用法

reduce语法以及用法

作者: 不忘初心_d | 来源:发表于2021-06-16 14:46 被阅读0次
一、语法:
Array.reduce(function(prev,cur,index,arr){
  //some  code
},init)

参数说明:
-- prev  必需。首次执行时:如果有init,则首次返回init,如果没有init,则首次返回arr的第一项,后续返回上一次调用回调时返回值;
-- cur   必需。当前正在处理的数组元素;
-- index 可选。当前正在处理的数组元素索引,若提供init值,则索引为0,否则索引为1;
-- init  可选。表示初始值(可省略)
-- arr   可选。 原数组 
二、下面是一些例子:
    var arr = [11, 22, 33, 44, 22];

    // 1.求和
    var sum = arr.reduce((prev, cur, index) => {
     return prev + cur
    });
    console.log(sum);

    // 2.计算数组中每个元素出现的次数
    var obj = arr.reduce((prev, cur) => {
    if (cur in prev) {
    prev[cur]++
    } else {
    prev[cur] = 1
    }
    return prev
    }, {})
    console.log(obj)

// 3.数组偏平化
const newArr = (arr) => {
return arr.reduce((prev, cur) => {
    return prev.concat(Array.isArray(cur) ? newArr(cur) : cur)
        }, [])
    }
console.log(newArr(arr))

//4.数组去重
var resArr = arr.reduce((prev, cur) => {
 if (!prev.includes(cur)) {
    return prev.concat(cur)
} else {
return prev
  }
}, [])
console.log("数组去重:", resArr)

相关文章

网友评论

      本文标题:reduce语法以及用法

      本文链接:https://www.haomeiwen.com/subject/muoxyltx.html