精华内容
下载资源
问答
  • var arr = [{ key: '01', value: '乐乐' }, { key: '02', value: '博博' }, { key: '03', value: '淘淘' },{ key: '04', value: '哈哈' ... // 方法1:利用对象访问属性的方法,判断对象中是
    var arr = [{
          key: '01',
          value: '乐乐'
       }, {
          key: '02',
          value: '博博'
       }, {
          key: '03',
          value: '淘淘'
       },{
          key: '04',
          value: '哈哈'
       },{
          key: '01',
          value: '乐乐'
       }];
    
    
       //  方法1:利用对象访问属性的方法,判断对象中是否存在key
       var result = [];
       var obj = {};
       for(var i =0; i<arr.length; i++){
          if(!obj[arr[i].key]){
             result.push(arr[i]);
             obj[arr[i].key] = true;
          }
       }
       console.log(result); // [{key: "01", value: "乐乐"},{key: "02", value: "博博"},{key: "03", value: "淘淘"},{key: "04", value: "哈哈"}]
    
    展开全文
  • 在进行web项目开发的时候,有时候需要把一些前端的数组进行去重处理,得到一个去重后的数据,然后在进行相关的操作
  • function uniqueFunc(...args) { const paramsLength = arguments.length; if(paramsLength == 1) { return [...new Set(arr)]; } else { const res = new Map(); const flag = arguments[1];...
    function uniqueFunc(...args) {
    	const paramsLength = arguments.length;
    	if(paramsLength == 1) {
    		return [...new Set(arr)];
    	} else {
    		const res = new Map();
    		const flag = arguments[1];
    		return arguments[0].filter(item => !res.has(item[flag]) && res.set(item[flag], item));
    	}
    }
    
    let arr = [1,2,3,4,5,2];
    
    uniqueFunc(arr);
    
    /** 输出
     * [1,2,3,4,5]
     */
    
    let stus = [
        {id: 12, name: 'z'},
        {id: 2, name: 'ss'},
        {id: 3, name: 'z'},
        {id: 12, name: 'cc'}
    ]
    
    uniqueFunc(stus, 'id');
    /** 输出
     * [
        {id: 12, name: 'z'},
        {id: 2, name: 'ss'},
        {id: 3, name: 'z'}
        ]
     */
    
    
    
    展开全文
  • 数组去重 arr = [1,1,3,2,2,4,5,6,6,1,7] 以下三种方法可去重 new Set(arr) arr.filter((item,index) => arr.indexOf(item) === index) arr.reduce((unique,item)=> unique.includes(item) ? unique : [......

    数组去重

    一、简单去重,以下三种方法可实现

    let arr = [1,1,3,2,2,4,5,6,6,1,7]
    
    1. new Set(arr)
    2. arr.filter((item,index) => arr.indexOf(item) === index)
    3. arr.reduce((unique,item)=> unique.includes(item) ? unique : [...unique,item],[])

    在这里插入图片描述
    在这里插入图片描述

    二、ES6的set数据结构去除数组对象中的重复对象

    对象数组去重的思路是,将对象序列化为字符串,然后使用set结构去重,最后再反序列化为对象。

    let arr = [
            { name: '张三',  age: 18 },
            { name: '张三',  age: 18 },
            { name: '李四',  age: 20 }
     ]
    

    第一步,将对象序列化 为字符串,然后使用Set 自带去重

    let noRepeat = [...new Set(arr.map(item=> JSON.stringify(item)))];

    第二步, 最后反序列化为对象

    let newArr = noRepeat.map(item=> JSON.parse(item))

    console.log(newArr)

    在这里插入图片描述

    三、reduce去除数组对象中的某个重复属性的对象

    const arr = [
            { id:1, name:'张三' },
            { id:1, name:'李四' },
            { id:2, name:'张三' },
    ]
    

    第一步,这里定义按照过滤的对象的属性名称
    const id = 'id'
    第二步, 数组属性对象 去重
    const newArr = arr.reduce((all,next)=>all.some((item)=>item[id]==next[id])?all:[...all,next],[]);
    console.log(newArr)
    在这里插入图片描述

    展开全文
  • 方法一: function unique(arr) { const res = new Map();...因为map key唯一,所以你想要根据哪个属性去重,res.has(a)里a就可以改成什么,比如a.name 方法二: 1、引入 import _ f...

    方法一:

        function unique(arr) {
         
            const res = new Map();
         
            return arr.filter((a) => !res.has(a) && res.set(a, 1))
         
        }


         

    因为map key唯一,所以你想要根据哪个属性去重,res.has(a)里a就可以改成什么,比如a.name

    方法二:

    1、引入

      

     import _ from 'lodash'
        Vue.prototype._ = _

    2、使用

    this._.debounce(this.handleClick,1000,false)


     

    展开全文
  • let arrs = [{user: 1}, {user: 1}, {user: 1}, {user: 2}] let hash = {} arrs.filter(arr => hash[arr.user] ? false : hash[arr.user] = true)
  • js对象数组根据某个属性去重

    千次阅读 2020-01-20 12:07:35
    在后台管理中,遇到有些情况,需要根据数组对象某个属性去重,如id、name… 方法如下: let hash = {}; // this.selectList是需要去重数组 // curVal.id代表根据对象的id去重 this.selectList = this.select...
  • * 按照List中的某个String类型的属性进行排序 * * @param list */ Collections.sort(classList, new Comparator() { @Override public int compare(Object o1, Object o2) { ...
  • 数组根据某个属性去重

    千次阅读 2019-07-31 16:51:01
    利用对象obj[key]的唯一性 let obj={}; let arr=[ {type:1,name:"aaa"}, {type:1,name:"bbb"}, {type:2,name:"ccc"}, {type:1,name:"eee"}, {type:2,name:"fff"}, ] 根据type arr=arr.reduce(function(item,...
  • 方法一:es5冒泡排序法,去重arrhttps://www.jianshu.com/p/7c12cbaa817b var planData = [{"planid": 1, "planname" : "预案一", "scenesort": 3, "sceneid" : 2}, {"planid": 2, "planname" : "预案二", ...
  • * 根据数组对象某个字段去重 * item.name 是[{name:1}] 根据每条数据的name值来去重 * */ unique(arr,val) { const res = new Map(); return arr.filter(item => !res.has(item[val]) && res.set...
  • 对象数组根据某个属性去重(2020)

    千次阅读 2018-07-10 14:52:27
    var Arr = [{ "name": "ZYTX", "age": "111111111111", "gender": "AAAAAA.doc" }, { "name": "ZYTA", "age": "222222222222", "gender": "BBBBBB.doc" }, { "name": "ZDTX", "age...
  • removeRepet(list,key) { let map = new Map() list.forEach(item=>{ if (!map.has(item[key])) map.set(item[key],item) }) return [...map.values()] }
  • 最近遇到了个需求,有一个对象数组,需要根据对象中的某几个字段做去重,也就是说,当指定的几个字段的值都相同时,视为重复数据。 举个例子: [{"name":"yzq","age":20,"gender":true,"height":10},{"name":"yzq",...
  • var arr = [ { from:'张三', to: '河南' }, { from:'王二', to: '阿里' }, { from:'王二', to: '杭州' ...有如上数组,想根据数组中的对象的from属性进行去重,如果from一样的话,只去...
  • 使用reduce方法进行数组对象去重 function unique(uniqueArr) { var has = {}; return uniqueArr.reduce(function (arr, item) { !has[item.id] && (has[item.id] = true && arr.push(item)); ...
  • 在项目过程中,有时候就需要对接收到的数据做去重处理: 1.如果是单纯的只有一层数据结构的数据,去重的话我一般会用ES6的 new Set 方法: let arr = [1,4,5,7,3,6,1,4]; let newArr = Array.from(new Set(arr))...
  • 有如上数组,想根据数组中的对象的level属性进行去重,如果level一样的话,只去一条。根据ES6属性编写函数代码如下: function unique(arr1) { const res = new Map(); return arr1.filter((a) => !res.
  • FilterByName:function(data, Name) { //data是json对象,Name是根据什么字段去重 var map = {}, dest = []; for (var i = 0; i < data.length; i++) { var ai = data[i]; if (i == 0) { ...
  • const arr = [ { name: '11', list: [111, 222, 333, 444] }, { name: '2222', list: [222, 333, 444] }, { name: '3333', list: [111, 666, 777] } ] const newArr = arr.reduce((pre, cur) =>...
  • 工作中遇到了对复杂数组去重的需求 根据对象的insectName对数组去重 闲下来的时候 研究了一下 定义需要去重数组 每一个job只要一个人 ```javascript var arr = [ { id: 1, name: '张三', job: '前端' }, { id:...
  • 主要介绍了Java中List集合对象去重及按属性去重的8种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一地的参考借鉴价值,需要的朋友可以参考下
  • 对象合并 const basicConfig = { width: 800, height:600, webPreferences: { nodeIntegration: true, // 可以使用node语法 }, }; const config = { width: 300, height:300, webPref...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,174
精华内容 4,869
关键字:

数组根据某个属性对象去重