var note = {
      text: "test 1",
      badges: ["testing", "111"],
    };
    var note2 = {
      text: "test 2",
      badges: ["testing", "222"],
    };

    var newData = {...note, ...note2}

    console.log("newData :", newData);

Вывод - это не то, что я ищу, он перезаписывает его и показывает только последний объект. Я ожидаю, что оба объекта будут на одном, или мне лучше использовать для этого массив?

0
usfslk 10 Фев 2021 в 08:43

3 ответа

Лучший ответ

Синтаксис распространения ...note помещает ключи примечания в newData, поэтому в этом месте он выглядит точно так же, как примечание. Затем ...note2 перезаписывает эти значения содержимым note2. Итак, вы можете:

var newData = {note, note2};

Который дает вам два объекта с ключами note и note2 в newData:

{ 
   note: {
      text: "test 1",
      badges: ["testing", "111"],
   },
   note2: {
      text: "test 2",
      badges: ["testing", "222"],
   },
}

Или, конечно, вы можете просто поместить объекты в массив.

1
see sharper 10 Фев 2021 в 05:48

В зависимости от того, как вы хотите использовать свою группировку, на самом деле есть 2 основных варианта.

Один объект

У каждого объекта будет свой уникальный ключ.

const note = {
  text: "test 1",
  badges: ["testing", "111"],
};
const note2 = {
  text: "test 2",
  badges: ["testing", "222"],
};

const newData = {
  note,
  note2
}

console.log("newData :", newData);

Массив

С легкостью перебирайте элементы.

const note = {
  text: "test 1",
  badges: ["testing", "111"],
};
const note2 = {
  text: "test 2",
  badges: ["testing", "222"],
};

const newData = [note, note2]

console.log("newData :", newData);
1
Mateusz Siniarski 10 Фев 2021 в 05:50

Вы можете сделать что-то подобное ..

var note = {
  text: "test 1",
  badges: ["testing", "111"],
};
var note2 = {
  text: "test 2",
  badges: ["testing", "222"],
};

var newData = [note, note2]

console.log("newData :", newData);

Использование этой var newData = {... note, ... note2} обычно расширяет объект в объекте, и поскольку имя свойства такое же, а объект обрабатывается как пара значений ключа, вы получаете последний объект как результат.

0
anand shukla 10 Фев 2021 в 05:54
66131498