javascript - 使用 es6 更好地映射两个不同的对象
问题描述
我能够实现我的目标,我分裂list
为[0]
and [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};
});
推荐阅读
- google-cloud-firestore - 获取 ID 与 UID 相同的 Firestore 文档失败
- regex - Grafana 正则表达式问题
- bash - 创建 TAR 存档后如何加密
- python - 在csv中查找给定长度大于某个阈值的所有唯一属性集
- java - 两个循环内的返回语句
- spring-boot - 如何跨单个项目的不同 Spring Boot 微服务实现 JPA 审计?
- javascript - 图标左侧的 React-Tooltip 空间
- powershell - 如何在 Powershell Core Azure 函数中写入文件
- css - 在不删除产品标题的情况下无法删除购物车中产品图片的表格列
- python - 使用列表问题附加用户输入