我将如何减少这个数组以便合并每个对象中的对象 javascript 但不知道键值名称
How would I reduce this array so the objects in each are merged javascript but dont know key value names
我在一个数组中有一个数组,我想减少子数组,使它们成为其中的一个对象。这是生成数组的代码
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;
});
这里是数组中的数组
[
[
{ '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' }
]
]
我想要 merge the subarrays
所以一个看起来像这样
[
[...],
[
{ 'Product Title Test': 'fdsaf',
'Product Description': 'fdsafs',
'Product Image': 'fdasfd',
'Product Price': 'fdasfdsa',
'Live on Website Test two Three': 'fdasfd' }
]
,
[...]
]
我看过这样的reduce
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)
但是我不知道 item.key
和 .item.value
名称,因为它们是在 map 函数中派生的。
任何帮助都会很棒。谢谢!
根据您提供的数组,您可以使用以下函数将嵌套数组合并到对象中,该函数使用 Object.entries
访问每个对象的属性。
function mergeInner(outer) {
return outer.map(inner =>
inner.reduce((merged, obj) => {
Object.entries(obj).forEach(([k, v]) => {
merged[k] = v;
});
return merged;
}, {})
);
}
产生:
[
{
'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
},
...
}
我在一个数组中有一个数组,我想减少子数组,使它们成为其中的一个对象。这是生成数组的代码
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;
});
这里是数组中的数组
[
[
{ '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' }
]
]
我想要 merge the subarrays
所以一个看起来像这样
[
[...],
[
{ 'Product Title Test': 'fdsaf',
'Product Description': 'fdsafs',
'Product Image': 'fdasfd',
'Product Price': 'fdasfdsa',
'Live on Website Test two Three': 'fdasfd' }
]
,
[...]
]
我看过这样的reduce
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)
但是我不知道 item.key
和 .item.value
名称,因为它们是在 map 函数中派生的。
任何帮助都会很棒。谢谢!
根据您提供的数组,您可以使用以下函数将嵌套数组合并到对象中,该函数使用 Object.entries
访问每个对象的属性。
function mergeInner(outer) {
return outer.map(inner =>
inner.reduce((merged, obj) => {
Object.entries(obj).forEach(([k, v]) => {
merged[k] = v;
});
return merged;
}, {})
);
}
产生:
[
{
'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
},
...
}