zoukankan      html  css  js  c++  java
  • reduce计算数组中每个元素出现的次数 数组去重的几种方式 将多维数组转化为一维

          // js计算数组中每个元素出现的次数
        //    var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
    
        //    var countedNames = names.reduce(function (allNames, name) {
        //    if (name in allNames) {
        //        allNames[name]++;
        //    }
        //    else {
        //    allNames[name] = 1;
        //    }
        //    return allNames;
        //    }, {});
        //    console.log(countedNames) //{Alice: 2, Bob: 1, Tiff: 1, Bruce: 1}
    
    
        // 数组去重  Set 和 reduce 和 for循环
             //    var arr=[1,2,23,23,4,5,5];
            //    var newarr=new Set(arr); //去重
            //    console.log([...newarr]);//将伪数组转化为真实的数组 //(5) [1, 2, 23, 4, 5]
    
        // let arr = [1,2,3,4,4,1]
        // let newArr = arr.reduce((pre,cur)=>{
        // if(!pre.includes(cur)){
        // return pre.concat(cur)
        // }else{
        // return pre
        // }
        // },[])
        // console.log(newArr);// [1, 2, 3, 4]
    
    
        //将多维数组转化为一维
        let arr = [[0, 1], [2, 3], [4,[5,6,7]]]
        const newArr = function(arr){
        return arr.reduce((pre,cur)=>pre.concat(Array.isArray(cur)?newArr(cur):cur),[])
        }
        console.log(newArr(arr)); //[0, 1, 2, 3, 4, 5, 6, 7]



          // array.reduce(function (total, currentValue, currentIndex, arr), initialValue)
    
            // 参数                          描述
            // total                        必需。初始值, 或者计算结束后的返回值。
            // currentValue                 必需。当前元素被循环的元素
            // currentIndex                 可选。当前元素被循环的元素的索引
            // arr                          可选。当前元素所属的数组对象。
           
    
           var arr = [1, 2, 3, 4];
           var sum = arr.reduce(function(prev, cur, index, arr) {
           console.log(prev, cur, index);
           return prev + cur;
           })
           console.log(arr, sum);
            // 打印结果:
            // 1 2 1
            // 3 3 2
            // 6 4 3
            // [1, 2, 3, 4] 10
    
            // 分析:第一次的prev 是初始值为1 ,以后的prev为返回值
            // cur 当前元素被循环的元素,是下标为1的那个元素
            // index当前元素被循环的元素的索引
  • 相关阅读:
    结对开发----找出“水王"
    团队博客----典型用户分析
    结对开发----电梯调度(课堂练习)
    团队开发_需求分析
    站立会议02(二期)
    站立会议01(二期)
    《软件工程》课程改进意见
    站立会议07(一期)
    站立会议06(一期)
    站立会议05(一期)
  • 原文地址:https://www.cnblogs.com/IwishIcould/p/11632052.html
Copyright © 2011-2022 走看看