首页 > 解决方案 > 合并2个数组的对象

问题描述

让我们看一个例子。

let arr1 = [{image: "some_image_url_1.png"}, {image: "some_image_url_2.png"}]

let arr2 = [{value: "some value 1"}, {value: "some value 2"}]

我需要合并这 2 个对象数组并创建以下数组。

let result = [{image: "some_image_url_1.png", value: "some value 1"}, {image: "some_image_url_2.png", value: "some value 2"}]

angular 2有什么解决方案吗?也许用 lodash?

标签: javascriptarraysjsonangular

解决方案


要从现有数组生成新数组,您可以使用map()

let arr1 = [{image: "some_image_url_1.png"}, {image: "some_image_url_2.png"}]

let arr2 = [{value: "some value 1"}, {value: "some value 2"}]

let result = arr1.map(function(i, idx){
  var obj = {};
  obj.image = i.image; 
  obj.value = arr2[idx].value;
  return obj;
});

console.log(result)
[{image: "some_image_url_1.png", value: "some value 1"},
{image: "some_image_url_2.png", value: "some value 2"}]


推荐阅读