精华内容
下载资源
问答
  • temp = {},//用于id判断重复 result = [];//最后的新数组 //遍历c数组,将每个item.id在temp中是否存在值做判断, c.map((item,index)=>{ if(!temp[item.name]){ result.push(item); temp[item.n...
    deleteRe(a, b) {
            var c = a.concat(b),//合并成一个数组
            temp = {},//用于id判断重复
            result = [];//最后的新数组
           //遍历c数组,将每个item.id在temp中是否存在值做判断, 
            c.map((item,index)=>{
    	        if(!temp[item.name]){
    	            result.push(item);
    	            temp[item.name] = true
    	        }
            })
            console.log(result) 
      }
    
    展开全文
  • js 数组去掉重复对象

    2020-09-28 10:19:20
    export function deteleObject(obj) { var uniques = []; var stringify = {}; for (var i = 0; i < obj.length; i++) { var keys = Object.keys(obj[i]);... keys.sort(function(a, b) { return (Number(a) - ...
    export function deteleObject(obj) {
       
        var uniques = [];
        var stringify = {
       };
        for (var i = 0; i 
    展开全文
  • 主要介绍了JS实现去除数组重复json的方法,涉及javascript针对json数组数据的遍历、判断、存取等相关操作技巧,需要的朋友可以参考下
  • js去除数组对象中的重复对象

    千次阅读 多人点赞 2020-03-06 09:58:20
    1、根据数组对象中的id作比较,id相同的去掉。 var arr = [ { DocESOPTerminalId: "632cffab-4d49-45da-9ef7-af263914b6f9", LocationName: "测试列", FactoryId: "9c895538-6cf0-49a9-aca0-89531936118e", ...

    1、根据数组对象中的id作比较,id相同的去掉。这种方法只会保留 id 第一个出现的数组

    第一种:

     var arr = [
        {id: 1, name: 'sli', year: 2012},
        {id: 2, name: 'ap', year: 2015},
        {id: 1, name: 'alslion', year: 2012},
        {id: 3, name: 'pose', year: 2012},
    ]
    
    //删除arr中的重复对象
    var newArr= [];
    var arrId = [];
    for(var item of arr){
        if(arrId.indexOf(item['id']) == -1){
            arrId.push(item['id']);
            newArr.push(item);
        }
    }
    console.log(arrId,newArr);
    

    结果如下:
    在这里插入图片描述
    第二种:reduce()

    var arr = [
        {name:'uzi',color:'blue'},
        {name:'pdd',color:'white'},
        {name:'mlxg',color:'orange'},
        {name:'uzi',color:'red'},
    ]
    
    let hash = {};
    var newArr = arr.reduce((item, next) => {
        hash[next.name] ? '' : hash[next.name] = true && item.push(next);
        return item
    }, []);
    console.log(newArr);
    

    结果如下:
    在这里插入图片描述
    第三种:

    let arr = [
    	{name:'黎明',id:21111},
        {name:'王小二',id:1111},
        {name:'大小二',id:3222}
    ]
    
    arr.splice(arr.findIndex(item => item.id === 3222), 1); 
    

    结果如下:
    在这里插入图片描述

    2、数组对象完全相同的去除

    第一种:

    			function delObj(obj) {
                    var uniques = [];
                    var stringify = {};
                    for (var i = 0; i < obj.length; i++) {
                        var keys = Object.keys(obj[i]);
                        keys.sort(function(a, b) {
                            return (Number(a) - Number(b));
                        });
                        var str = '';
                        for (var j = 0; j < keys.length; j++) {
                            str += JSON.stringify(keys[j]);
                            str += JSON.stringify(obj[i][keys[j]]);
                        }
                        if (!stringify.hasOwnProperty(str)) {
                            uniques.push(obj[i]);
                            stringify[str] = true;
                        }
                    }
                    uniques = uniques;
                    return uniques;
                }
                var arr = [
                    {name:'uzi',color:'blue'},
                    {name:'pdd',color:'white'},
                    {name:'mlxg',color:'orange'},
                    {name:'uzi',color:'blue'},
                ]
                console.log('arr:',delObj(arr))
    			
    			var arr1 = [
                    {name:'uzi',color:'blue'},
                    {name:'pdd',color:'white'},
                    {name:'mlxg',color:'orange'},
                    {name:'uzi',color:'red'},
                ]
                console.log('arr1:',delObj(arr1))
    

    结果如下图所示:
    在这里插入图片描述
    在这里插入图片描述
    第二种:引用Lodash

    Lodash官网: https://www.lodashjs.com/docs/latest#_uniqwitharray-comparator

    用法:_.uniqWith(array, [comparator])
    在这里插入图片描述
    例子

    var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
     
    _.uniqWith(objects, _.isEqual);
    // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
    
    展开全文
  • js 去除数组对象里面的重复对象

    千次阅读 2021-01-13 14:45:48
    去除数组对象里面的重复对象,这种情况在项目里面是经常遇到的一个需求,方便以后使用这里记录一下: 1、根据对象里面的一个属性去重,以id为例 类似于数组的去重,可以使用 indexOf 、include、lastIndexOf、find ...

    去除数组对象里面的重复对象,这种情况在项目里面是经常遇到的一个需求,方便以后使用这里记录一下:

    1、根据对象里面的一个属性去重,以id为例

    类似于数组的去重,可以使用 indexOf 、include、lastIndexOf、find 等,这里只用 indexOf 实现一下。

    let arr = [
    	{id:1, name:'test', status:'success'},
    	{id:2, name:'dev', status:'success'},
    	{id:3, name:'prod', status:'fail'},
    	{id:4, name:'sand', status:'waiting'},
    	{id:3, name:'box', status:'running'},
    	{id:2, name:'dev', status:'success'}
    ]
    function objHeavy(arr){
    	let arr1 = []; //存id
    	let newArr = []; //存新数组
    	for(let i in arr){
    		if(arr1.indexOf(arr[i].id) == -1){
    			arr1.push(arr[i].id);
    			newArr.push(arr[i]);
    		}
    	}
    	return newArr;
    }
    

    结果:
    在这里插入图片描述

    2、只去重完全相同对象(属性属性值都相同)

    大致思路如下:
    首先、循环数组,拿到对象的所有属性组成的数组;
    其次、循环属性数组把对象的属性和对应的值拼接成字符串;
    然后、利用 hasOwnProperty 方法判断这个字符串是不是对象 obj 里的属性,如果不是则以这个字符串为属性,true为值给 obj 对象新增一个属性;
    最后、继续循环判断下一个对象;

    let arr = [
    	{id:1, name:'test', status:'success'},
    	{id:2, name:'dev', status:'success'},
    	{id:3, name:'prod', status:'fail'},
    	{id:4, name:'sand', status:'waiting'},
    	{id:3, name:'prod', status:'fail'},
    	{id:2, name:'dev', status:'success'}
    ]
    function objHeavy(arr){
    	var newArr= []; //存新数组
        var obj= {}; //存处理后转成字符串的对象
        for (var i = 0; i < arr.length; i++) {
            var keys = Object.keys(arr[i]);
            keys.sort(function(a, b) {
                return (Number(a) - Number(b));
            });
            var str = '';
            for (var j = 0; j < keys.length; j++) {
                str += JSON.stringify(keys[j]);
                str += JSON.stringify(arr[i][keys[j]]);
            }
            if (!obj.hasOwnProperty(str)) {
                newArr.push(arr[i]);
                obj[str] = true;
            }
        }
        return newArr;
    }
    

    结果:
    在这里插入图片描述

    展开全文
  • js数组去除重复数据

    万次阅读 2019-05-05 22:28:45
    数组去重
  • 数组对象去掉重复对象: export function deteleObject(obj) { var uniques = []; var stringify = {}; for (var i ...
  • function deteleObject(obj) { var uniques = []; var stringify = {}; for (var i = 0; i ; i++) { var keys = Object.keys(obj[i]); keys.sort(function(a, b) { return (Number(a) - ... } 数组去除重复对象方法
  • js 数组去除重复对象

    2016-03-16 16:32:00
    //数组里是对象就调用以下的 var uniqueObj = function(obj) { for (var i = 0; i ; i++) { var count = 0; for (var j = 0; j ; j++) { if (obj[i].name == obj[j].name) { count++; } if (obj[i]....
  • js去掉数组重复的json对象

    千次阅读 2019-04-30 15:33:19
    需求:去除数组对象重复的json对象 js代码: var arr=[{ service_cname: "黑花生(100g*15袋/盒)", type:1 },{ service_cname: "苹果", type:3 }, { service_cname: "苹果", type:3...
  • let Array = [] //存放去重...//去除data,里面EmployeeID相同的对象 for (var i = 0; i < data.length; i++) { if (!obj[data[i].EmployeeID]) { Array.push(data[i]) obj[data[i].EmployeeID] = true } } ...
  • 平时做各种数据添加的时候,让用户自己添加的数据,表单会很容易多条重复的数据,我们传给后台没要传重复的数据,要根据id或者name之类的唯一属性把重复数组对象过滤去除 代码: <template> <div...
  • 本文实例讲述了JS实现的数组去除重复数据算法。分享给大家供大家参考,具体如下:在JS中经常会遇到去除数组中重复数据的需求,在此介绍四种算法以实现JS数组去重的功能.1. 速度最快算法:对象键值对法实现思路:新建一...
  • 主要介绍了JS实现合并两个数组去除重复项只留一个的方法,涉及JavaScript数组合并及去重的相关技巧,需要的朋友可以参考下
  • 代码如下: function filterArray(str,array){ //此函数为过滤数组重复的元素,并不允许插入空值,函数返回数组 var isnull = false; if(str == “” || str == null || str == ‘undefined’){ isnull = true; } var...
  • 编写一个去掉数组重复项的方法
  • 主要给大家介绍了Array对象去除重复项的相关资料,文中通过示例代码详细介绍了在ES5和ES6中Array对象去除重复项的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
  • Js 数组去除重复数据算法

    千次阅读 2018-09-24 13:13:58
    JS中经常会遇到去除数组重复数据的需求,在此介绍四种算法以实现JS数组去重的功能. 1.速度最快算法:对象键值对法 &nbsp;&nbsp;&nbsp;&nbsp;实现思路: &nbsp;&nbsp;&nbsp;&nbsp;...
  • 数组重复是一个常见的需求,我们暂时考虑同类型的数组重复。主要是理清思路和考虑下性能。以下方法,网上基本都有,这里只是简单地总结一下。 思路: 1.遍历数组,一一比较,比较到相同的就删除后面的 2.遍历...
  • 3、删除重复对象,索引集合为indexArr,记得每次删除,索引减一,因为每次删除,newArr数组都会改变 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l
  • 去除数组重复对象 const arr=[ { id:1 lable:'李白', }, { id:1 lable:'杜甫', }, { id:2 lable:'王维', } ] const id='id' //这里定义按照过滤的对象的属性名称 const newArr = arr.reduce...
  • //去掉数组重复对象 function removeResove(arr){ for( let i = 0;i<arr.length;i++){ let tem = arr [i] for( let j = i +1;j<arr.length ;j++){ if( JSON.stringify( tem ) == JSON.stringify( arr[ j] ...
  • js/JQUERY json数组除去重复对象

    千次阅读 2017-09-19 09:26:07
    //去掉重复选取的数据 for (var i = 0; i for (var j =i+1; j  if (classesArray[i].id == classesArray[j].id ) {//通过id属性进行匹配;  classesArray.splice(j, 1);//去除重复的对象;  }else {
  • (function(){//去除数组重复对象 var unique = {}; arr.forEach(function(a){ unique[ JSON.stringify(a) ] = 1 }); arr= Object.keys(unique).map(function(u){return JSON.parse(u) }); return arr})(arr) l...
  • function deteleObject(obj) { var uniques = []; var stringify = {}; for (var i = 0; i < obj.length; i++) { var keys = Object.keys(obj[i]); keys.sort(function(a, b) { ...
  • 从一个数组中移除重复对象

    千次阅读 2020-04-06 09:00:00
    JavaScript项目实践中,我们可能会经常需要移除重复对象的例子,本文通过一个案例来详细解答,并给出了最优解,希望对你有所帮助。假设有下面这个数组对象,让你来删除重复项:const...
  • let listOne = [ { name: 'one' }, { name: "two" }, { name: 'three' }, { name: "four" }, { name: '1' } ] let listTwo = [ { name: 'three' }, { name: '1', }, { name: '2' }, ... { name: 'one
  • js对象数组去除重复

    千次阅读 2019-05-17 13:53:34
    一、使用数组方法reduce var obj = {}; var aa = [{ "name": "aa", "pwd": "xvxv" }, { "name": "aa", "pwd": "xvxv" }, { "name": "bb", "pwd": "xvxv" }, { "name": "cc", "pwd": "xvxv...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,417
精华内容 10,966
关键字:

js数组去除重复对象