两个数组对象合并

    let array = [{label:9000,items:[{a:'相同'}]},{label:2000,items:[{a:'相同'}]}, {label:8000,items:[{a:''}]}];
    let temp = [{label:9000,items:[{b:'相同2'}]}, {label:5000,items:[{b:''}]}];
处理为下面的这种
[{label:9000,items:[{a:'相同'},{b:'相同2'}]},{label:2000,items:[{a:'相同'}]}, {label:8000,items:[{a:''}]}, {label:5000,items:[{b:''}]}];

array.forEach(item=>{
    //case1:如果array里的label:9000在temp里也有label:9000,就把这个label所在对象的items里的对象给temp里的label:9000所对应的items
    //case2:如果temp里没有label=8000这一项 就把这一项的对象push给temp
    let has;
    temp.forEach(item1=>{
      if(item.label==item1.label){
        has=true;
        item1.items=item.items.concat(item1.items);
      }
    })
    if(!has){
      temp.push(item)
    }
  })
  console.log(temp)

原文地址:https://www.cnblogs.com/zddzz/p/11739219.html

时间: 2024-11-06 12:45:06

两个数组对象合并的相关文章

JavaScript把两个数组对象合并成一个一一对应的数组对象

合并数组或者对象在数组或对象前面加...,是es6的新写法,然后数组的map方法会返回数组. var obj1 = [{ "id": 980550455852, "model": "XQG70-S1208FW", "color": "白", "invStatusName": "正品", "bactualQty": 10947, "brea

两个数组去重合并

import java.util.HashSet; import java.util.Set; public class Demo2 { /* * 两个数组去重合并 */ public static void main(String[] args) { //初始化测试数据 int[] a = {1,3,3,2}; int[] b = {3,3,5,6}; //使用set类的HashSet对象保存两个数组中的值,因为该对象内的数值不允许重复,所以会自动删除数组中的重复值 Set c = new H

两个数组的合并问题

编写JAVA程序,实现两个数组的合并,并按升序排列合并后的数组 假定现有两个数组,分别为: int[ ] arr1={3, 1, 23}; int[ ] arr2={27, 7, 2}; 设计程序,将两个数组合并成一个数组,并按升序排列合并后的数组,输出合并前和合并后的数组信息 要求: 1.使用Arrays.copyOf( )方法实现数组复制 2.使用Arrays.sort( )方法实现数组排序 3.使用Arrays.toString( )方法输出数组成员 import java.util.Ar

合并数组对象中相同的属性值

面试题中往往会遇到这样的笔试题,将以下数组对象合并相同值 var arr = [{ "name": "语文", "fraction": 80 }, { "name": "数学", "fraction": 70 }, { "name": "语文", "fraction": 50 }, { "name": &qu

数组:合并数组的两种方式

合并数组的方式有两种,但是得到的结果可能会有所不同哦~ 首先,我们先说说有哪两种方式: 1.使用数组合并函数:array_merge(数组1, 数组2) 2.使用符号 : + 例子: 下面有两个数组,接下来,我们使用不同的方法,将两个数组进行合并 1.使用array_merge后的效果 2.使用+符号后的效果 以上 感谢认真的自己 原文地址:https://www.cnblogs.com/finalanddistance/p/10132996.html

数组的合并,去重,排序

一,两个数组的合并去重: var arr1 = ['a','b']; var arr2 = ['a','c','d']; var arr3 = [1,'d',undefined,true,null]; //合并两个数组,去重 var concat_ = function(arr1,arr2){ //不要直接使用var arr = arr1,这样arr只是arr1的一个引用,两者的修改会互相影响 var arr = arr1.concat(); //或者使用slice()复制,var arr =

两个数组关联起来的函数------绝对自创

作用: 把两个数组关联起来,可以通过第一个数组查到第二个数组中的值,还蛮实用的. 和大家分享下,写了两个小例子. 我是不是棒棒哒?~ 当然如果大家还有更好的方法,欢迎和我分享啦~ 一起共勉吧~ optionsPut:输入数组 optionsGain:输出数组 1>把两个数组对象变成一个Object: //change the quantityOptions will change realizedGainOptions or immediateIncomeOptions. var circleO

PHP 按照多个键值给数组分组合并

简介: $array 为一堆数组,各数组键值为固定 $keys为分组依据,在$array中按照$keys所指定的键值将数组分组,并且将除$keys指定键值对应的值以外的值合并 1 function groupBy($array,$keys){ 2 $i = 0; 3 while($i < sizeof($array)){ 4 $x = sizeof($array) - 1; 5 while ($x > $i) { 6 //取数组交集并返回交集,保留键名 7 $temp = array_inte

Java比较两个数组里的元素是否相等

比较两个数组里的元素是否相等可以使用Arrays类调用equals()方法进行比较.不能用==比较,==比的是两个数组对象的地址,如果是两个不同的对象,结果会一直是false . package _3_5_test; import java.util.Arrays; public class FifityFiveTest { public static void main(String[] args) { // TODO Auto-generated method stub String le1