Javascript 在创建新对象时分解和重命名

Javascript 在创建新对象时分解和重命名,javascript,node.js,Javascript,Node.js,我们有lambda,它从s3json文件中读取文件并对其进行处理。JSON对象包含许多字段,但我们只需要其中的几个字段。我正在尝试解构它,我能够成功地做到这一点。但在创建新对象以将其推送到数据库时,我们还需要重命名一些属性。我们传入的对象如下所示 [ { 标题:为垂死者祈祷, titleNoPrefix:为垂死者祈祷, 序列号:153, 出版人:4030967,, territoryID:9, 副标题:, 媒体:电子出版物, 格式:标准ePub, ean:978-1-4532-0046-9,

我们有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:不, 年轻读者:不, 观众: }
] 您需要在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);