从多个在JavaScript中具有相似键和新键的对象创建单个对象

时间:2020-08-17 12:22:22

标签: javascript

const toBeUpdated = {
  "stores": {
    "city1": [{
      "address": "13, Landiling",
      "firstName": "Robot",
      "lastName": "Tom",
      "MiddleName": "Dian"
    }]
  }
};

const updateInfo = {
  "stores": {
    "city1": [{
      "address": "13, Landiling",
      "firstName": "Robot",
      "lastName": "Tom",
      "phone": "12345678",
      "email": "test@",
      "manager": "tim"
    }]
  }
};

需要使用缺少的键(新)和来自updateInfo对象的值来更新toBeUpdated对象。

1 个答案:

答案 0 :(得分:1)

您可以使用ES6传播运算符合并两个对象。试试这个

const toBeUpdated = {
  "stores": {
    "city1": [{
      "address": "13, Landiling",
      "firstName": "Robot",
      "lastName": "Tom",
      "MiddleName": "Dian"
    }]
  }
};

const updateInfo = {
  "stores": {
    "city1": [{
      "address": "13, Landiling",
      "firstName": "Robot",
      "lastName": "Tom",
      "phone": "12345678",
      "email": "test@",
      "manager": "tim"
    }]
  }
};

const updatedCity = toBeUpdated.stores.city1.map((city, i) => ({...city, ...updateInfo.stores.city1[i]}));

toBeUpdated.stores.city1 = updatedCity;
console.log(updatedCity);