Javascript 在创建新对象时分解和重命名
我们有lambda,它从s3json文件中读取文件并对其进行处理。JSON对象包含许多字段,但我们只需要其中的几个字段。我正在尝试解构它,我能够成功地做到这一点。但在创建新对象以将其推送到数据库时,我们还需要重命名一些属性。我们传入的对象如下所示 [ { 标题:为垂死者祈祷, titleNoPrefix:为垂死者祈祷, 序列号:153, 出版人:4030967,, territoryID:9, 副标题:, 媒体:电子出版物, 格式:标准ePub, ean:978-1-4532-0046-9, ean13:9781453200469, isbn:1-4532-0046-0, isbn10:1453200460, 初级甲酸酯:9781453200469, 编辑类型:, 编辑编号:, 系列:马丁·法伦小说, 系列第2卷, BISAC状态:活动, 页数:166, 发布日期:20100622, 领土:, 返回:不可返回, 退货限制:不,不可退货, 年份:1973年, 分类类型:, Agrange:, 成绩范围:, 语言1:英语, 语言2:, twtypct摘录权:否, acctrightsrule:标准权利, appleepubvnotes:此版本中的后台内容已更新。, 布告板:不, 邦德:不, 顶点:不, 电子历史:不, 固定布局PDF:否, 名单:没有, 他:不, nbafinalist:不, 项目阶段:校对, 肖特:不, texttospeech:不, totalboox:不, 年轻读者:不, 观众: }, { 标题:为垂死者祈祷-第2部分, titleNoPrefix:为垂死者祈祷, 序列号:153, 出版人:4030967,, territoryID:9, 副标题:, 媒体:电子出版物, 格式:标准ePub, ean:978-1-4532-0046-9, ean13:9781453200469, isbn:1-4532-0046-0, isbn10:1453200460, 初级甲酸酯:9781453200469, 编辑类型:, 编辑编号:, 系列:马丁·法伦小说, 系列第2卷, BISAC状态:活动, 页数:166, 发布日期:20100622, 领土:, 返回:不可返回, 退货限制:不,不可退货, 年份:1973年, 分类类型:, Agrange:, 成绩范围:, 语言1:英语, 语言2:, twtypct摘录权:否, acctrightsrule:标准权利, appleepubvnotes:此版本中的后台内容已更新。, 布告板:不, 邦德:不, 顶点:不, 电子历史:不, 固定布局PDF:否, 名单:没有, 他:不, nbafinalist:不, 项目阶段:校对, 肖特:不, texttospeech:不, totalboox:不, 年轻读者:不, 观众: }Javascript 在创建新对象时分解和重命名,javascript,node.js,Javascript,Node.js,我们有lambda,它从s3json文件中读取文件并对其进行处理。JSON对象包含许多字段,但我们只需要其中的几个字段。我正在尝试解构它,我能够成功地做到这一点。但在创建新对象以将其推送到数据库时,我们还需要重命名一些属性。我们传入的对象如下所示 [ { 标题:为垂死者祈祷, titleNoPrefix:为垂死者祈祷, 序列号:153, 出版人:4030967,, territoryID:9, 副标题:, 媒体:电子出版物, 格式:标准ePub, ean:978-1-4532-0046-9,
] 您需要在desutstructure中重命名,然后在返回的对象中使用重命名的属性名,如下所示:
let subBook = (({ean13: primaryIsbn, title: booktitle, publisher, ...}) => ({
primaryIsbn,
booktitle,
publisher,
...
}))(book);
在您的示例中,您没有在返回的对象中使用重命名的属性 可以映射书本并重命名属性,而无需创建以下临时子书本变量: 常数书=[{ 标题:为垂死者祈祷, titleNoPrefix:为垂死者祈祷, 序列号:153, 出版人:4030967,, territoryID:9, 副标题:, 媒体:电子出版物, 格式:标准ePub, ean:978-1-4532-0046-9, ean13:9781453200469, isbn:1-4532-0046-0, isbn10:1453200460, 初级甲酸酯:9781453200469, 编辑类型:, 编辑编号:, 系列:马丁·法伦小说, 系列第2卷, BISAC状态:活动, 页数:166, 发布日期:20100622, 领土:, 返回:不可返回, 退货限制:不,不可退货, 年份:1973年, 分类类型:, Agrange:, 成绩范围:, 语言1:英语, 语言2:, twtypct摘录权:否, acctrightsrule:标准权利, appleepubvnotes:此版本中的后台内容已更新。, 布告板:不, 邦德:不, 顶点:不, 电子历史:不, 固定布局PDF:否, 名单:没有, 他:不, nbafinalist:不, 项目阶段:校对, 肖特:不, texttospeech:不, totalboox:不, 年轻读者:不, 观众: }]; const formattedBooks=books.map{ ean13:PrimarySbin, 书名:书名,, 出版商 铭刻 总体安排 系列 }=>{PrimarySBN,书名,出版商,压印,格式,系列}; console.logformattedBooks;
books.map((book) => {
console.log(`Book Item : ${JSON.stringify(book)}`)
let subBook = (({
ean13,
title,
publisher,
imprint,
format,
series
}) => ({
primary_isbn: ean13,
booktitle: title,
publisher,
imprint,
format,
series
}))(book);