I have an array within an array that I want to reduce the subarrays such that they are one object within. Here is the code generating the array
const final = data.formEntryData.map((item) => {
//console.log(Object.keys(item.data));
let key = Object.values(item.data);
let test = data.hmm.map((array) => {
//console.log(array.arrayOrder);
return { [array.name]: key[array.arrayOrder] };
});
return test;
});
Here is the array within array
[
[
{ 'Product Title Test': 'fdsafa' },
{ 'Product Description': 'ffdsafa' },
{ 'Product Image': 'fdasf' },
{ 'Product Price': undefined },
{ 'Live on Website Test two Three': undefined }
],
[
{ 'Product Title Test': 'Roasted Beans' },
{ 'Product Description': 'For the Squire' },
{ 'Product Image': 'http://image.com' },
{ 'Product Price': undefined },
{ 'Live on Website Test two Three': undefined }
],
[
{ 'Product Title Test': 'Shoes' },
{ 'Product Description': 'Worn' },
{ 'Product Image': 'google.com' },
{ 'Product Price': '100' },
{ 'Live on Website Test two Three': undefined }
],
[
{ 'Product Title Test': 'fdsajkl' },
{ 'Product Description': 'klfdlsk' },
{ 'Product Image': 'flkdsjl' },
{ 'Product Price': 'flskj' },
{ 'Live on Website Test two Three': 'lkjfsdlk' }
],
[
{ 'Product Title Test': 'shoes' },
{ 'Product Description': 'very good' },
{ 'Product Image': 'image.com' },
{ 'Product Price': '20' },
{ 'Live on Website Test two Three': 'yes' }
],
[
{ 'Product Title Test': 'fdsaf' },
{ 'Product Description': 'fdsa' },
{ 'Product Image': 'fdsa' },
{ 'Product Price': 'fdsa' },
{ 'Live on Website Test two Three': 'fdsa' }
],
[
{ 'Product Title Test': 'fdskj' },
{ 'Product Description': '291898868491092489' },
{ 'Product Image': 'fsdk' },
{ 'Product Price': '291898998629859848' },
{ 'Live on Website Test two Three': 'fsd;lk' }
],
[
{ 'Product Title Test': 'fdsfa' },
{ 'Product Description': 'fdsaf' },
{ 'Product Image': 'fdsafa' },
{ 'Product Price': 'fdsaf' },
{ 'Live on Website Test two Three': 'fdasf' }
],
[
{ 'Product Title Test': 'ds' },
{ 'Product Description': 'fdsa' },
{ 'Product Image': 'fdsa' },
{ 'Product Price': 'fdsa' },
{ 'Live on Website Test two Three': 'fdsa' }
],
[
{ 'Product Title Test': 'fdsfds' },
{ 'Product Description': 'fdsfafds' },
{ 'Product Image': 'fdsafs' },
{ 'Product Price': 'fdsaf' },
{ 'Live on Website Test two Three': 'fdsaf' }
],
[
{ 'Product Title Test': 'fdsfds' },
{ 'Product Description': 'fdsfafds' },
{ 'Product Image': 'fdsafs' },
{ 'Product Price': 'fdsaf' },
{ 'Live on Website Test two Three': 'fdsaf' }
],
[
{ 'Product Title Test': 'fdsaf' },
{ 'Product Description': 'fdsafs' },
{ 'Product Image': 'fdasfd' },
{ 'Product Price': 'fdasfdsa' },
{ 'Live on Website Test two Three': 'fdasfd' }
]
]
I want to merge the subarrays so one would look like this
[
[...],
[
{ 'Product Title Test': 'fdsaf',
'Product Description': 'fdsafs',
'Product Image': 'fdasfd',
'Product Price': 'fdasfdsa',
'Live on Website Test two Three': 'fdasfd' }
]
,
[...]
]
I have looked at reduce like this
var arr = [{key:"11", value:"1100"},{key:"22", value:"2200"}];
var object = final.reduce(
(obj, item,) => Object.assign(obj, { [item.key]: item.value }), {});
console.log(object)
However I don't know the item.key and .item.value names because they are derived in the map function.
Any help would be great. Thanks!