精华内容
下载资源
问答
  • 将图片左侧数据处理成右侧数据 ps: 顺带说下数据结构 直接看代码 这边封装成了一个函数 ... // 最终返回数组 for (let item of arr) { if (arrWarp.includes(item.classId) == false) { let obj =

    将图片左侧数据处理成右侧数据
    在这里插入图片描述

    ps: 顺带说下数据结构
    在这里插入图片描述

    直接看代码 这边封装成了一个函数 根据自己需求调整相应的字段

    			function resetArr(arr) {
    				let arrWarp = []
    				// 用于存放唯一Id
    				let result = []
    				// 最终返回数组
    				for (let item of arr) {
    					if (arrWarp.includes(item.classId) == false) {
    						let obj = {
    							className: item.name,
    							classId: item.classId,
    							classList: []
    							// classList 存放相同Id下的数据
    						}
    						obj.classList.push(item)
    						result.push(obj)
    						arrWarp.push(item.classId)
    					} else {
    						let index = arrWarp.indexOf(item.classId)
    						result[index].classList.push(item)
    					}
    				}
    				return result
    
    			}
    
    let arr = [{name:'班级1',class:'数学',classId:1},{name:'班级1',class:'美术',classId:1},{name:'班级1',class:'生物',classId:1},
              {name:'班级2',class:'数学',classId:2},{name:'班级2',class:'体育',classId:2},{name:'班级3',class:'数学',classId:3}]
    	console.log(arr)
    	console.log(resetArr(arr))
    

    最后打印输出 console.log(resetArr(arr)) 就是上方处理后的数据结构了

    展开全文
  • 主要介绍了JS实现合并两个数组并去除重复项只留一个的方法,涉及JavaScript数组合并及去重的相关技巧,需要的朋友可以参考下
  • 合并数组对象中的重复数组

    千次阅读 2019-05-16 18:34:23
    今天项目中遇到一个问题,需要合并下面图片中数组中budget_id相同的对象,效果如图二,结果写了半天发现自己没写出来

    今天项目中遇到一个问题,需要合并下面图片中数组中budget_id相同的对象,效果如图二,结果写了半天发现自己没写出来(?),参考了别人的代码之后终于做出来了(?)

    
                            var data = jsonData.object[0].record;  //原始数据
                            //构造想要的数据结构
                            var data2 = []; 
                            data.forEach(function (t) {
                                var budgetData = {
                                    budget_id: t.budget_id,
                                    params: []
                                };
                                var paramsObj = {
                                    param_code: t.param_code,
                                    param_value: t.param_value
                                };
                                budgetData.params.push(paramsObj);
                                data2.push(budgetData);
                            });
                            //数组去重
                            var newData = [];
                            var newObj = {};
                            data2.forEach(function (t, i) {
                                if (!newObj[t.budget_id]) {
                                    newData.push(t);
                                    newObj[t.budget_id] = true;
                                }else{
                                    newData.forEach(function (t2) {
                                        if(t2.budget_id == data2[i].budget_id){
                                            t2.params = t2.params.concat(data2[i].params)
                                        }
                                    })
                                }
                            });

    参考链接:http://www.pianshen.com/article/933660520/

    展开全文
  • 1、js数组对象重复合并数值 <script> var arrs = [ {"id": "1","name": "张三","value": "1245"}, {"id": "1","name": "张三","value": "1360"}, {"id": "2","name": "李四","value": "1120"}, ...

    彩蛋:后台管理系统一站式平台模板

    vue-admin-wonderful,一套为开发者快速开发准备的基于 vue2.x 越看越精彩的后台管理系统一站式平台模板。基于element ui 2.14.0

    1、js数组对象去重复并合并数值

    <script>
    	var arrs = [
    		{"id": "1","name": "张三","value": "1245"},
    		{"id": "1","name": "张三","value": "1360"},
    		{"id": "2","name": "李四","value": "1120"},
    		{"id": "2","name": "李四","value": "1362"},
    		{"id": "2","name": "李四","value": "1008"},
    		{"id": "3","name": "王五","value": "1360"},
    		{"id": "4","name": "赵六","value": "1986"},
    		{"id": "4","name": "赵六","value": "1240"}
    	];
    	function duplicate(arr) {
    		var map = {},
    			dest = [];
    		for (var i = 0; i < arr.length; i++) {
    			var ai = arr[i];
    			if (!map[ai.id]) {
    				dest.push({
    					id: ai.id,
    					name: ai.name,
    					value: ai.value
    				});
    				map[ai.id] = ai;
    			} else {
    				for (var j = 0; j < dest.length; j++) {
    					var dj = dest[j];
    					if (dj.id == ai.id) {
    						dj.value = (parseFloat(dj.value) + parseFloat(ai.value)).toString();
    						break;
    					}
    				}
    			}
    		};
    		return dest
    	}
    	console.log(this.duplicate(arrs));
    </script>
    

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

    2、js数组去重及数组对象去重

    <script>
    	function duplicate(arr, type) {
    		if (arr.length == 0) {
    			return arr;
    		} else {
    			if (type) {
    				var obj = {};
    				var newArr = arr.reduce((cur, next) => {
    					obj[next.name] ? '' : (obj[next.name] = true && cur.push(next));
    					return cur;
    				}, []);
    				return newArr;
    			} else {
    				return Array.from(new Set(arr));
    			}
    		}
    	}
    
    	let arr = [1, 1, 2, 3, 4, 4, 5]
    	let objArr = [
    		{name: '大哥',time: new Date(),id: 1}, 
    		{name: '大哥',time: new Date(),id: 2},
    		{name: '大哥',time: new Date(),id: 3},
    		{name: '大哥1',time: new Date(),id: 4}, 
    		{name: '大哥2',time: new Date(),id: 3},
    	]
    	
    	console.log('数组去重:', duplicate(arr))
    	console.log('数组对象去重:', duplicate(objArr, 'name'))
    </script>
    

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

    展开全文
  • js将数组对象中某个相同的对象合并成一个新对象 需求:beforeData - - > afterData //源数组 var beforeData= [ { name: "tony", id: "1", age: "20" }, { name: "jack", id: "2", age: "21" }, { name: "tony...

    js将数组对象中某个值相同的对象合并成一个新对象
    需求:beforeData - - > afterData

    //源数组
    var beforeData= [
    { name: "tony", id: "1", age: "20" },
    { name: "jack", id: "2", age: "21" },
    { name: "tony", id: "3", age: "50" },
    { name: "jack", id: "4", age: "10" },
    { name: "mark", id: "5", age: "22" },
    { name: "mark", id: "6", age: "40" }
    ];

    //结果
    afterData= [
    {name: "tony",origin: [{ name: "tony", id: "1", age: "20" },{ name: "tony", id: "3", age: "50" }]},
    {name: "jack",origin: [{ name: "jack", id: "2", age: "21" },{ name: "jack", id: "4", age: "10" }]},
    {name: "mark",origin: [{ name: "mark", id: "5", age: "22" },{ name: "mark", id: "6", age: "40" }]}
    ]


    具体操作

    let tempArr = [];
        for (let i = 0; i < beforeData.length; i++) {
            if (tempArr.indexOf(beforeData[i].name) === -1) {
                this.afterData.push({
                    name: beforeData[i].name,
                    origin: [beforeData[i]]
                });
                tempArr.push(beforeData[i].name);
            } else {
                for (let j = 0; j < this.afterData.length; j++) {
                    if (this.afterData[j].name == beforeData[i].name) {
                        this.afterData[j].origin.push(beforeData[i]);
                        break;
                    }
                }
            }
        }
    console.log(this.afterData,888);

    展开全文
  • JS合并数组对象重复数据

    千次阅读 2020-10-14 21:35:58
    var oldData = [ {a:1,b:2,c:3,d:2,e:1}, {a:1,b:2,c:3,d:3,e:2}, {a:1,b:2,c:3,d:4,e:3}, {a:1,b:2,c:3,d:5,e:4} ] var oldDataRule = [] oldData.forEach(el => { var oldObj = { .
  • 在选择设备页面,选择出需要挑拨的设备,再把已经选择的设备批量添加到预备调拨的列表中,每次批量添加的时候,需要去掉之前已经选择过的设备,避免重复项。 解决思路一: 连个数组双重循环对比,如果出现相同设备...
  • 本文实例讲述了JavaScript合并两个数组并去除重复项的方法。分享给大家供大家参考。具体实现方法如下: Array.prototype.unique = function() { var a = this.concat(); for(var i=0; i for(var j=i+1; j if(a[i] =...
  • JS 数组,数组对象合并去重方法

    万次阅读 2018-09-03 11:31:08
    ES6提供了新的数据结构Set,它类似于数组,但是成员的都是唯一的,没有重复。 Set函数可以接受一个数组(或类似数组对象)作为参数,用来初始化。 注意: 向set加入的时候,不会发生类型转变,所以 5 和...
  • var arr = [ {"id":"1001","name":"1","value":"111"}, {"id":"1001","name":"1","value":"11111"}, {"id":"1002","name":"2","value":"25462"}, {"id":"1002"...
  • listData: [ { type: 1, typeName: '行业属性', name: '业主' }, { type: 1, typeName: '行业属性', name: '物业' }, { type: 2, typeName: '职业属性', name: '项目经理' }, { type: 3, typeName: '个人...
  • var arr = [{ name:"1", type:"data", default:"1", relation:[{ id:"1", text:"2" }] },{ name:"2", type:"filter", ...
  • js合并两个数组对象, 如果a中含有b,则b的覆盖a的 如果a中不含有b 则b的新增到a MergeRecursive(obj1, obj2) { // 合并两个数组 for (var p in obj2) { if (obj1[p] === undefined) { // 如果obj1没有p ...
  • 合并对象合并数组

    2020-06-14 08:40:58
    合并对象:Object.assign(obj1,obj2,obj3)是把obj2,obj3,......Object.assign合并数组的时候,把数组对象,属性名重复就覆盖了原有的 -------------------------------------------- ES6对象原型...
  • JS 数组,数组对象合并去重

    千次阅读 2018-12-20 19:42:49
    一、数组合并 var arr1 = [1,2,3,4]; var arr2 = [4,5,6,7,8];... //合并数组 console.log(arr); //将set集合转化为数组 // 1,2,3,4,4,5,6,7,8 var arrNew= new Set(arr); //通过set集合去重 // 1,2,3,4,5,6,7,8 ...
  • let newData = Array.from({ length: s.size }, () => []) //创建指定长度数组并添 oldData.forEach(item => { let index = [...s].indexOf(item.id) //找到指定下标 newData[index].push(item) //添加数据 }) ...
  • 今天小编就为大家分享一篇vue实现将一个数组内的相同数据进行合并,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 数据为数组对象 判断数组中的对象中某两个key下的value是否一致,如果一致,删除掉,不保存当前行数据,只保存最后一行相同value的数据。 这样说明可能比较抽象,拿取例子说明 const data = [ { name:'小明' , ...
  • 主要介绍了JS实现去除数组重复json的方法,涉及javascript针对json数组数据的遍历、判断、存取等相关操作技巧,需要的朋友可以参考下
  • vue对象数组去重合并

    千次阅读 2019-07-19 10:54:50
    两个对象数组如: ` var array1=[ { no: 4, station_name: “兴发路4”, city: “深圳4”, area: “观澜4”, person: “张三4” }, { no: 1, station_name: “兴发路1”, city: “深圳1”, area: “观澜1”, ...
  • var Array = [ { "22": "333" }, { "555": "444" }, { "22": "666" } ] //实现的数组:[{ "22": "333,666"},{"555": "444"}] var newArr = [] Array.map(value => { ...
  • 应用场景:在项目中选择数组对象内容,选择后需要有所标识,或者默认会一组数组对象数据追加到请求的数组中,且在最前端展示,其后加载过来的相同的数据对象将被替换掉;需要数组对象查重处理; 主要代码实现:...
  • var arr=[ { id:"00000001", value:"3(Mi)" }, { id:"00000001", value:"6(La)" }, { id:"00000002", ...
  • 一般开发的时候,后端返回的数据格式并不是自己想要的,因此就需要自己对后端传过来的数据进行组合并赋值给一个新的数组/对象,今天我遇到一个问题就是后端把订单的数据分成单独的数组一个个返回,大家都知道订单 不...
  • 数组里某个属性相同的对象合并成一个数组数组如下 let resData = [ { "name": "住院医疗最高报销", "tagName": "医疗", "insuredAmount": "6000" }, { "name": "身故赔付", "tagName": "...
  • 数组去除重复值: arr.indexOf() 方法返回某个指定字符串值再字符中首次出现的位置, 如果数组中没有则返回-1 var arr=[2,8,5,0,5,2,6,7,2]; function unique1(arr){ var result=[]; for (var i = 0; i < ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,784
精华内容 30,713
关键字:

数组对象合并有重复值的