我需要在angularJS中合并2个对象
我正在尝试使用angular.merge(obj1,obj2),但这不是我期望的

第一个对象

 // obj1
{
  "0": {
    "name": "340.jpg",
    "bytes": 21955,
    "link": "340.jpg?dl=0",
    "icon": "page_white_picture.png"
  },

  "1": {
    "name": "341.pdf",
    "bytes": 3394,
    "link": "340.pdf?dl=0",
    "icon": "page_white_acrobat.png"

  }


第二个对象

// obj2
{
  "id_pro": "70",
  "nuevo": "true",
  "fecha_ser": "2017-10-18"
}


预期结果

// Merged
{

  "0": {
    "name": "340.jpg",
    "bytes": 21955,
    "link": "340.jpg?dl=0",
    "icon": "icons64/page_white_picture.png",

    "id_pro": "70",
    "nuevo": "true",
    "fecha_ser": "2017-10-18"
  },

  "1": {
    "name": "341.pdf",
    "bytes": 3394,
    "link": "340.pdf?dl=0",
    "icon": "page_white_acrobat.png",

    "id_pro": "70",
    "nuevo": "true",
    "fecha_ser": "2017-10-18"

  }

}


将第二个对象完全添加到第一个对象的每个组中。

是否可以与angular.merge或我需要自己的功能?谢谢

最佳答案

您可以使用native javascript来实现。

解决方案之一包括forEach方法和Object.assign组合以合并属性。



let obj={
  "0": {
    "name": "340.jpg",
    "bytes": 21955,
    "link": "340.jpg?dl=0",
    "icon": "page_white_picture.png"
  },
  "1": {
    "name": "341.pdf",
    "bytes": 3394,
    "link": "340.pdf?dl=0",
    "icon": "page_white_acrobat.png"

  }
};
let second={
  "id_pro": "70",
  "nuevo": "true",
  "fecha_ser": "2017-10-18"
}
Object.keys(obj).forEach(function(key){
  Object.assign(obj[key],second);
});
console.log(obj);

关于javascript - 使用AngularJS合并两个对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46816419/

10-12 07:22