I have an object, which look like this,
{"basket":
[
{
"firmId":"27150190-3aa0-4740-a859-3e215d338a2b",
"adisyonId":"35dca2a0-2c9a-4d8d-9b0e-1e146f7b900a","productId":"de37dce5-f8f9-4f54-900f-fbc90659b37d",
"product":
{
"productId":"de37dce5-f8f9-4f54-900f-fbc90659b37d",
"productCategoryId":"8ac4cb8c-86cb-4d23-8f01-639a7f6ac1be",
"productCategory":null,
"productName":"cola",
"price":8.00,
"st":true}},
{
"firmId":"4ac6dd14-798a-422f-8f3e-1ed06f5e8fb7",
"adisyonId":"35dca2a0-2c9a-4d8d-9b0e-1e146f7b900a",
"productId":"de37dce5-f8f9-4f54-900f-fbc90659b37d",
"product":
{
"productId":"de37dce5-f8f9-4f54-900f-fbc90659b37d",
"productCategoryId":"8ac4cb8c-86cb-4d23-8f01-639a7f6ac1be",
"productCategory":null,
"productName":"tea",
"price":1.00,
"st":true}}]};
I use that lodash.js then I want it as I want it to be in the example below.
{"basket":
[
{
"product":
{
"firmId":"27150190-3aa0-4740-a859-3e215d338a2b",
"productId":"de37dce5-f8f9-4f54-900f-fbc90659b37d",
"productCategoryId":"8ac4cb8c-86cb-4d23-8f01-639a7f6ac1be",
"productCategory":null,
"productName":"cola",
"price":8.00,
"st":true}},
{
"product":
{
"firmId":"4ac6dd14-798a-422f-8f3e-1ed06f5e8fb7",
"productId":"de37dce5-f8f9-4f54-900f-fbc90659b37d",
"productCategoryId":"8ac4cb8c-86cb-4d23-8f01-639a7f6ac1be",
"productCategory":null,
"productName":"tea",
"price":1.00,
"st":true}}]};
I tried this,
var list = [];
_.each(this.props.basket, function (item) {
list.push(_.omit(item, 'firmId'));
list.push(_.flatten(_.pick(item, 'product')));
});
var result = _.flatten(list);
console.log(result);
Its above code only give that first version, so I want to merge firmId and products on one object.
Thanks,
Can do this as a simple map()
const list = this.props.basket.map(({firmId, product}) => {
product.firmId = firmId;
return {product};
})