• 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当前元素被循环的元素的索引
  • 相关阅读:
    [转载]qemu-kvm安装配置
    Hadoop通过c语言API访问hdfs
    hadoop和hdfs环境搭建
    OpenCV installation for Ubuntu 12.04
    homework-01
    linux命令2
    压缩tar
    anaconda 安装opencv
    anconda安装第三方库
    开源代码
  • 原文地址:https://www.cnblogs.com/IwishIcould/p/11632052.html
Copyright © 2020-2023  润新知