精华内容
下载资源
问答
  • js数组对象去重

    2020-09-25 10:03:00
    最近项目中遇到一个数组对象去重的的问题,情景是数组对象中的每一个对象key 是相同的,但是key的数量不固定,研究了一下 ,想到了下面这种写法 // 数组对象去重 let mappingList = [ {id:1,name:'ceshi',type:'...

    数组对象去重

    最近项目中遇到一个数组对象去重的的问题,情景是数组对象中的每一个对象key 是相同的,但是key的数量不固定,研究了一下 ,想到了下面这种写法

    	// 数组对象去重
    	let mappingList = [ {id:1,name:'ceshi',type:'01',price:'33'},
    						{id:2,name:'ceshi',type:'02',price:'33'},
    						{id:3,name:'ceshi4',type:'01',price:'44'},
    						{id:4,name:'',type:'',price:''}]
    	let newArr = [];
    	let arrKey = Object.keys(mappingList[0]);
    	arrKey = remove(arrKey,'id') //去除数组中id
    	mappingList.forEach(ele => {
    		let str = ''
    		arrKey.forEach(key => {
    			str = str + ',' + ele[key]
    		})
    		newArr.push(str)
    	})
    	newArr = Array.from(new Set(newArr));
    	if(newArr.length != mappingList.length){
    		message('请勿输入重复******!');
    		return;
    	}
    

    目前想到的解决办法是在这个,大家如果有更好的想法 欢迎私信!

    展开全文
  • JS数组对象去重,ES6最简数组去重

    千次阅读 2020-07-10 23:01:23
    js数组对象去重 // 测试数据 // 比如我们处理 value 的去重 var arrList = [ {key: 1, value: "aaa"}, {key: 2, value: "bbb"}, {key: 3, value: "ccc"}, {key: 4, value: "aaa"}, {key: 5, value: "aaa"}, {...

    JS数组对象去重,ES6最简数组去重

    // 测试数据
    // 比如我们处理 value 的去重 
    var arrList = [
    	{key: 1, value: "aaa"},
    	{key: 2, value: "bbb"},
    	{key: 3, value: "ccc"},
    	{key: 4, value: "aaa"},
    	{key: 5, value: "aaa"},
    	{key: 6, value: "ddd"},
    ];
    
    /**
     * 数组对象去重
     * 设置cur默认类型为数组,并且初始值为空的数组
     */
    let obj = {};
    arrList = arrList.reduce((cur,next) => {
    	obj[next.value] ? "" : obj[next.value] = true && cur.push(next);
    	return cur;
    },[]);
    
    // 这里得出去重后的数据
    console.log(arrList);
    

    reduce是干嘛的
    reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。

    语法
    array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
    
    参数			描述
    total			必需。初始值, 或者计算结束后的返回值。
    currentValue	必需。当前元素
    currentIndex	可选。当前元素的索引
    arr				可选。当前元素所属的数组对象。
    initialValue	可选。传递给函数的初始值
    

    关于 reduce 更详细的解释可以参阅这里:
    https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/reduce
    中文网
    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

    用ES6进行最简普通数组去重

    // 原始数组
    var arr = [1,2,3,2,2,4,5,6];
    // 使用解构方式 去重的核心方法
    var newArr = [...new Set(arr)];
    // 去重后数据
    console.log(newArr);
    
    展开全文
  • 数组去重 let arr2 = ['小王', '小王', '小张'] let newArr2 = [...new Set(arr2)] console.log("TCL: newArr2", newArr2) // TCL: newArr2 (2)["小王", "小张"] 数组对象去重 1.reduce()方法 let arr...

    数组去重

        let arr2 = ['小王', '小王', '小张']
        let newArr2 = [...new Set(arr2)]
        console.log("TCL: newArr2", newArr2) // TCL: newArr2 (2) ["小王", "小张"]

     

     

    数组对象去重

    1.reduce()方法

        let arr = [
            { name: 'wangqiang', age: 25 },
            { name: 'wangqiang1', age: 26 },
            { name: 'wangqiang1', age: 27 },
            { name: 'wangqiang2', age: 28 }
        ]
        let obj = {};
        let newArr = arr.reduce((defaultArr, next) => {
            obj[next.name] ? "" : obj[next.name] = true && defaultArr.push(next)
            return defaultArr
        }, [])
        //设置defaultArr默认类型为数组,并且初始值为空的数组
        console.log("TCL: newArr", newArr)
        // TCL: newArr
        // [
        //     { name: 'wangqiang', age: 25 },
        //     { name: 'wangqiang1', age: 26 },
        //     { name: 'wangqiang2', age: 28 }
        // ]

     2.冒泡排序的思想

        let arr1 = [
            { name: 'wangqiang', age: 25 },
            { name: 'wangqiang1', age: 26 },
            { name: 'wangqiang1', age: 27 },
            { name: 'wangqiang2', age: 28 }
        ]
        for (let i = 0; i < arr1.length - 1; i++) {
            for (let j = i + 1; j < arr1.length; j++) {
                if (arr1[j].name === arr1[i].name) {
                    arr1.splice(j, 1)
                }
            }
        }
        console.log("TCL: arr1", arr1)
        // TCL: arr1
        // [
        //     { name: 'wangqiang', age: 25 },
        //     { name: 'wangqiang1', age: 26 },
        //     { name: 'wangqiang2', age: 28 }
        // ]

     

     

     

    删除两个数组中name相同的对象

    (项目需求  去掉已经选择的选项)

        let arr3 = [
            { name: 'wangqiang', age: 25 },
            { name: 'wangqiang1', age: 26 },
            { name: 'wangqiang2', age: 27 },
            { name: 'wangqiang3', age: 28 }
        ]
        let arr3_1 = [
            { name: 'wangqiang2', age: 28 }
        ]
        arr3 = arr3.filter(item => {
            let list = arr3_1.map(v => {
                return v.name
            })
            return !list.includes(item.name)
        })
        console.log("TCL: arr3", arr3)
        // TCL: arr3
        // [
        //     { name: 'wangqiang', age: 25 },
        //     { name: 'wangqiang1', age: 26 },
        //     { name: 'wangqiang3', age: 28 }
        // ]

     

    展开全文
  • JS 数组对象去重

    2020-05-15 18:56:07
    我们先来说说简单的数组去重问题。 遍历去重法: function unique(arr) { const res = [] arr.forEach(item => { if(res.indexOf(item) < 0) { res.push(item) } }) return res } 使用 ES6 的 Set...

    我们先来说说简单的数组去重问题。

    遍历去重法:

    function unique(arr) {
        const res = []
        arr.forEach(item => {
            if(res.indexOf(item) < 0) {
                res.push(item)
            }
        })
        return res
    }
    

    使用 ES6 的 Set:

    function unique(arr) {
        const set = new Set(arr)
        return [...set] // return Array.from(set)
    }

    如果是数组对象时,我们无法使用 Set 进行去重。

    let data = [
      {"TYPE": "01", "REMARK": "休假"},
      {"TYPE": "03", "REMARK": "在班"},
      {"TYPE": "03", "REMARK": "在班"},
      {"TYPE": "02", "REMARK": "上海出差"},
      {"TYPE": "02", "REMARK": "北京出差"},
      {"TYPE": "04", "REMARK": "休息"},
      {"TYPE": "04", "REMARK": "休息"}
    ]
    

    根据上述数据,将数组对象中 TYPE 相同的元素去除掉。

    利用对象访问属性的方法,判断对象中是否存在 TYPE,代码如下:

    function unique(arr) {
        var result = [];
        var obj = {};
        for(var i =0; i<arr.length; i++){
            if(!obj[arr[i].TYPE]){
                result.push(arr[i]);
                obj[arr[i].TYPE] = true;
            }
        }
        return result
    }

    利用 reduce 方法遍历数组:

    function unique(arr) {
        var obj = {};
        arr = arr.reduce(function(item, next) {
            obj[next.TYPE] ? '' : obj[next.TYPE] = true && item.push(next);
            return item;
        }, []);
        return arr
    }

    更多阅读:对象数组中,根据相同属性的数据合并,重组新的数组对象

    展开全文
  • JS数组对象去重

    2021-09-03 17:54:40
    JS数组对象去重方法一:es5冒泡排序法,去重arr方法二:es5新建数据双重循环,去重arr2方法三:es6的Map(),去重arr3方法四:es5,对象去重arr4 var arr = [{name: 'a',id: 1}, {name: 'a',id: 2}, {name: 'b',id:...
  • js--数组对象去重

    2019-11-14 10:23:54
    js--数组对象去重
  • 数组去重,运用ES6语法 let arr = [1,2,3,4,5,6,1,2,3] console.log([...new Set(arr)]);// [1, 2, 3, 4, 5, 6] 数组对象去重,通过对象中的值去重,可选值,实际是根据reduce let arr = [ { id: 0, name: "猴子" }, ...
  • // 数组对象去重 { const arr = [ { name:'zhangsan', age:12 }, { name:'lisi', age:14 }, { name:'zhangsan', age:12 }, { name:'lisi', age:.
  • 1. 数组去重,数组中元素为数字或者字符串 1. 单个数组去重 //1. function unique(arr) { return [...new Set(arr)] } //2. function unique(arr) { return Array.from(new Set(arr)) } //3. function unique...
  • // 数组去重 var sDataArray = ['1', '2', '3', '2', '1', '2']; console.log([...new Set(sDataArray)]) // [ '1', '2', '3' ] // 字符串去重 var sDataString = 'acdaaaddss' console.log([...new Set(sDataString...
  • 常见普通数组去重 利用Es6 Set去重 unique(arr){ return Array.from(new Set(arr)) }, 利用filter unique(arr){ return arr.filter((item,index,arr)=>{ return arr.indexOf(item,0) === index; }); ...
  • 1、js数组对象去重复并合并数值 <script> var arrs = [ {"id": "1","name": "张三","value": "1245"}, {"id": "1","name": "张三","value": "1360"}, {"id": "2","name": "李四","value": "1120"}, ...
  • 数组数组对象去重

    2020-11-07 18:36:02
    1.数组去重 1.方法 unique(arr){ return Array.from(new Set(arr)) }, 2.调用该方法 this.arr=this.unique(this.arr) 2.数组对象去重 1.方法 uniqObjInArray(objarray){ let len = objarray.length; let ...
  • /** * js 三元表达式处理 */ function sanYuan(siJi){ return siJi==3?"春天":siJi==6?... *js 数组对象去重 */ function repeat(arr){ const res = new Map(); return arr.filter((arr)=>!res.has(a
  • 问题:数组对象去重 方法一:es5冒泡排序法,去重arr(较好用) var arr = [{name: 'a',id: 1}, {name: 'a',id: 2}, {name: 'b',id: 3}, {name: 'c',id: 4}, {name: 'c',id: 6}, {name: 'b',id: 6}, {name: 'd...
  • //数组对象传参去重 map特性 function uniqueFun(arr, type = 'id') { const map = new Map(); return arr.filter((a) => !map.has(a[type]) && map.set(a[type], 1)); } //...
  • js数组对象去重

    2021-09-26 10:43:14
    需求:对如下的数组进行去重 let stay = [{key1: 10.223,key2: 0.225},{key1: 10.01112,key2: 0.225},{key1: 10.2231,key2: 0.226},{key1: 10.223,key2: 0.22513},{key1: 10.223,key2: 0.225},{key1: 10.2231,key2...
  • Javascript数组对象去重

    2020-09-03 17:21:07
    } 方法二:我们可以借助数组中reduce方法,访问遍历数组,其也是借助访问对象属性方法 let reduceList = () => { arry = arry.reduce(function(a, b) { obj[b.name] ? '' : obj[b.name] = true && a.push(b); ...
  • //3,5,6,7,test 对象数组去重方法 1. reduce方法去重 let obj = {}; let arr = [ { name: 'swt', pwd: '123456' }, { name: 'swt', pwd: '123456' }, { name: 'mff', pwd: '123456' }, { name: 'pff', pwd: '123456...
  • 数组对象去重

    2021-03-21 13:23:58
    json 数组对象去重 // 原数据 let originData = [ { id: 1, age: 23, name: '张三' }, { id: 2, age: 13, name: '李四' }, { id: 3, age: 27, name: '王五' }, { id: 4, age: 32, name: '赵六' }, { id: 5, age...
  • JS 数组对象去重 两种

    2020-03-01 16:40:12
    分两种,一种是基本数据类型去重,一种是复杂对象去重 var a=Array.from(new Set(array)); 这种适用于基本类型的去重 另外一种是复杂类型的去重 Array.prototype.distinct=function() { var fa={}; var a=[];...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,381
精华内容 6,152
关键字:

js数组对象去重set