Как скопировать 2 объекта после добавления нового ключа в nodejs

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

0
задан Yong Quan 11 April 2019 в 05:56
поделиться

2 ответа

Вы можете создать новый объект, разрушив obj1 и добавив к нему cities.

obj1 = {
  name: 'a',
  age: '23'
};

obj2 = {
  city1: 'x',
  city2: 'y'
};

obj3 = {
  ...obj1,
  cities: Object.entries(obj2)
    .map(([k, v]) => ({[k]: v}))
};

console.log(obj3);

0
ответ дан 31piy 11 April 2019 в 05:56
поделиться

Вы можете использовать object.assign, а затем использовать Object.keys на obj2. Это даст массив как [city1,city2]. Используйте map для итерации этого массива и создания нового ключа и значения

let obj1 = {
  name: 'a',
  age: '23'
};
let obj2 = {
  city1: 'x',
  city2: 'y'
};

let obj3 = Object.assign({}, obj1, {
  cities: Object.keys(obj2).map(function(item) {
    return {
      [item]: obj2[item]
    }
  })
});

console.log(obj3)

0
ответ дан brk 11 April 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: