zoukankan      html  css  js  c++  java
  • 数组对象去重总结

    var arrInfo=[{roleId:"239','roleName':'基本信息'},{roleId:"216','roleName':'测试数据展示'},{roleId:"239','roleName':'基本信息'}]
    
    1. let obj = {}
    
    arrInfo = arrInfo.reduce (function(item,next){
    
      obj[next.roleId] ? ' ' : obj[next.roleId]  = true && item.push(next)
    
      return item;
    
    },[])
    
    console.log(arrInfo)   //输出内容展示     [{roleId:'239','roleName':''基本信息'},{roleId:'216','roleName':'测试数据展示'}]
    
    2. var arr = [ ] ;    //想法判断对象中是否存在某个key
    
        var obj = { };
    
         arrInfo = arrInfo.forEach(function(ele,index){  //ele 是数组中的每一个对象     index是指下标
    
          if(!obj[arrInfo[index] .roleId){
    
             arr.push(arrInfo[index])
    
             obj[arrInfo[index].roleId]  = true
    
          } 
    
        })
    
     3.e6数组去重方法 
    
    const arr = ['张三','张三','三张三']
    let set = new Set(arr); // set 自带去重
    // Set { '张三', '三张三' }
    console.log(set);
    console.error(Array.from(set)); // [ '张三', '三张三' ]
    
    4.多维数组将为一维数组的方法展示  let arr = [[1,2,3],[1,2],[1,4]]
          flatten(arr) { //岗位全选到多位数组导致的处理数组方法传值给后台
           return [].concat( ...arr.map(x => Array.isArray(x) ? this.flatten(x) : x) )
          },
         //用法  
          Array.from(new Set(_this.flatten(arr)))    //输出数组展示   
         console.log(Array.from(new Set(_this.flatten(arr))))    
  • 相关阅读:
    [NOI2003],[AHOI2006]文本编辑器
    luogu P5151 HKE与他的小朋友
    [NOI2005]维护数列
    [HNOI2012]永无乡
    luogu P4146 序列终结者
    [SCOI2016]美味
    UVA1451 Average
    [JSOI2007]字符加密
    luogu P3809 【模板】后缀排序
    CentOS 7系统启动后怎么从命令行模式切换到图形界面模式
  • 原文地址:https://www.cnblogs.com/smile-fanyin/p/13948254.html
Copyright © 2011-2022 走看看