javascript - 将对象内的对象数组作为多个对象 JavaScript
问题描述
我需要在父对象内的多个对象中转换对象数组:
实际对象:
{
name: 'John Doe',
Age: 50,
email: 'j@gmail.com'
wishlist: [
{product1 : 1},
{product2 : 3},
{product3 : 5},
{product4 : 2},
]
}
目标:
{
name: 'John Doe',
Age: 50,
email: 'j@gmail.com',
product1 : 1,
product2 : 3,
product3 : 5,
product4 : 2,
}
有谁知道这是怎么做到的吗?亲切的问候,
解决方案
在愿望清单数组上使用reduce()
方法,然后使用spread
运算符创建最终对象。
const myObj = {
name: 'John Doe',
Age: 50,
email: 'j@gmail.com',
wishlist: [
{product1 : 1},
{product2 : 3},
{product3 : 5},
{product4 : 2},
]
}
const processData = (data) => {
const wishlist = data.wishlist.reduce((result, obj) => {
return {...result, ...obj};
}, {});
const finalObj = {...data, ...wishlist};
delete finalObj.wishlist;
return finalObj;
}
console.log(processData(myObj));
推荐阅读
- sql - Oracle SQL-插入语句-SQL 错误:ORA-00984:此处不允许列
- react-native - textContentType=oneTimeCode 不适用于 iOS
- c++ - 如何在结束 C++ 命令行应用程序时运行函数?
- php - 这个 PHP 类常量声明有什么问题?
- reactjs - npm run build - 尽管开发版本工作正常,但无法编译
- node.js - 无法在 Webpack 3 中将 Sass 添加到 Vue 项目
- javascript - 如何使用 Javascript 计算 Acrobat PDF 中的字段?
- react-native - 如何将原生 ios 第三方库集成到 React Native 应用程序中?
- python - 在包中使用动态文件
- jinja2 - saltstack jinja for 并行循环