使用es6从两个不同的对象进行更好的映射



我能够实现我的目标,我将list拆分为[0][1],我在想es6可能有更好的解决方案?感谢

const list = [
[
{ value: 'Apple' },
{ value: 'Banana'},
{ value: 'Orange'},
{ value: 'Grape' },
],
[
{value: 'color is Red' },
{value: 'color is Yellow'},
{value: 'color is Orange'},
{value: 'color is green'},
]]

const a = list[0];
const b = list[1];

const c = a.map(({value}, index)=>{
return {[value] : b[index].value};
})
console.log(c)

预期的结果是

[
{
"Apple": "color is Red"
},
{
"Banana": "color is Yellow"
},
{
"Orange": "color is Orange"
},
{
"Grape": "color is green"
}
]

您可以使用数组析构函数来完成此操作。

const [first, second] = list;
first.map(({value}, index) => {
return {[value] : second[index].value};
});

const list = [
[
{ value: "Apple" },
{ value: "Banana" },
{ value: "Orange" },
{ value: "Grape" },
],
[
{ value: "color is Red" },
{ value: "color is Yellow" },
{ value: "color is Orange" },
{ value: "color is green" },
],
];
const [fruit, prop] = list;
const result = fruit.map(({ value }, i) => ({ [value]: prop[i].value }));
console.log(result);

最新更新