Как я могу объединить два объекта? - PullRequest
0 голосов
/ 12 сентября 2018

Мой скрипт JavaScript такой:

<script>
    var customer = {"name":"John", "address":'London'};
    var products = [
        {"product_name":"clothes", "quantity":1, "price":1000},
        {"product_name":"trousers", "quantity":1, "price":500},
        {"product_name":"shoes", "quantity":1, "price":2000}
    ];
</script>

Я хочу объединить объекты. Итак, я хочу получить такой результат:

enter image description here

Как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 12 сентября 2018

Вы можете использовать точечный синтаксис и оператор = для установки свойства объекта customer:

var customer = {"name":"John", "address":'London'};
var products = [
  {"product_name":"clothes", "quantity":1, "price":1000},
  {"product_name":"trousers", "quantity":1, "price":500},
  {"product_name":"shoes", "quantity":1, "price":2000}
];

customer.products = products;

console.log(customer)

Если вы не хотите изменять customer, вы можете использовать вместо этого синтаксис спрэда:

var customer = {"name":"John", "address":'London'};
var products = [
  {"product_name":"clothes", "quantity":1, "price":1000},
  {"product_name":"trousers", "quantity":1, "price":500},
  {"product_name":"shoes", "quantity":1, "price":2000}
];

const customerAndProducts = { ...customer, products : products }

console.log(customer)
console.log(customerAndProducts)
0 голосов
/ 12 сентября 2018

Object.assign сделает трюк: customer = Object.assign(customer, { products: products })

0 голосов
/ 12 сентября 2018

Вы можете установить недвижимость непосредственно у клиентов:

var customer = {"name":"John", "address":'London'};
customer.products =  [
    {"product_name":"clothes", "quantity":1, "price":1000},
    {"product_name":"trousers", "quantity":1, "price":500},
    {"product_name":"shoes", "quantity":1, "price":2000}
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...