美文网首页
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