Как мне объединить два объекта так, чтобы это выглядело как следующий код

{
  category: 'product 1',
  sub_category: 'sub product 1',
}
{
  nama: "nama product1",
  jenis: "jenis1"
}

{
  nama: "nama product1",
  jenis: "jenis1",
  category: {
    category: 'product 1',
    sub_category: 'sub product 1',
  }
}

Пожалуйста, помогите мне

-1
creator life 11 Окт 2021 в 13:31

2 ответа

Лучший ответ

Используйте spread.

const x = {
  category: 'product 1',
  sub_category: 'sub product 1',
}
const y = {
  nama: "nama product1",
  jenis: "jenis1"
};

const z = {...y, category: x};

const log = document.querySelector(`pre`);

log.textContent = `nested:\n` + JSON.stringify(z, null, 2);

// or flattened:
const zz = { ...y, ...{ category: x.category, sub_category: x.sub_category } };
log.textContent += `\n\nflat:\n${JSON.stringify(zz, null, 2)}`;
<pre></pre>
2
KooiInc 11 Окт 2021 в 10:42

Вы можете сделать что-нибудь простое, если предположить, что все объекты имеют одинаковый формат.

const obj1 = {
    category: 'product 1',
    sub_category: 'sub product 1',
}
const obj2 = {
    nama: "nama product1",
    jenis: "jenis1"
}

obj2.category = obj1;
console.log(obj2);
0
EJBEAN 11 Окт 2021 в 10:38