javascript - 如何将对象数组推入另一个对象数组
问题描述
我有一个对象数组,我试图将其附加到另一个对象数组中。我的对象数组是动态的,所以每次我运行应用程序时,它都会有一个不同的值,我想将它附加到另一个对象数组中。我的对象数组如下所示:
[ { type: 'd',
name: 'ABC',
target: undefined,
sticky: false,
rights: { user: 'rwx', group: 'rx', other: 'rx' },
acl: false,
owner: 'ftp',
group: 'ftp',
size: 0,
date: 2019-07-26T00:00:00.000Z },
{ type: 'd',
name: 'DEF',
target: undefined,
sticky: false,
rights: { user: 'rwx', group: 'rx', other: 'rx' },
acl: false,
owner: 'ftp',
group: 'ftp',
size: 0,
date: 2019-08-02T00:00:00.000Z } ]
我想将完整的对象数组存储到另一个对象中。
ticketNameArr 是我原来的对象数组。我尝试了以下方法将其附加到另一个对象数组中。(已评论的那个)
Promise.all(ticketDetail).then(function (values) {
//console.log(values);
ticketNameArr.push({
TicketName: ticketNameIs,
InputLocationMessage: values[0].inputLocationMessage,
ResultLocationMessage: values[1].resultLocationMessage,
TicketStatusInput: values[0].ticketStatusInput,
TicketStatusResult: values[1].ticketStatusResult,
LogStatus: values[2].logStatus,
ReportStatus: values[3].reportStatus,
InputTime: values[0].birthtime,
InputModifiedTime: values[0].mtime,
OutputTime: values[1].birthtime,
OutputModifiedTime: values[1].mtime,
LogCreateTime: values[2].birthtime,
LogModifiedTime: values[2].mtime,
FtpTime: values[0].ftpTime,
FTPSTATUS: values[0].FTPStatus
});
if (ticketNameArr.length == ticketName.length) {
console.log("-------------TicketNameArr")
console.log(ticketNameArr)
ticketXLXSCopy = ticketXLXSCopy.concat(ticketNameArr)
console.log("-------------In Excel")
console.log(ticketXLXSCopy)
var ws = XLSX.utils.json_to_sheet( ticketXLXSCopy)
XLSX.utils.book_append_sheet(wb, ws) // sheetAName is name of Worksheet
XLSX.writeFile(wb, 'DailyTicketSatus.xlsx')
// var ws = XLSX.utils.json_to_sheet( ticketXLXSCopy)
// XLSX.utils.sheet_add_json(ws,ticketXLXSCopy);
// XLSX.utils.book_append_sheet(wb, ws) // sheetAName is name of Worksheet
// XLSX.writeFile(wb, 'DailyTicketSatus.xlsx')
// respond.render('result', { "ticketNameArr": ticketNameArr });
respond.render('index', { "ticketNameArr": ticketNameArr });
}
});```
The actual result should have all the fields of the original array of objects. While the methods that I tried are just overwriting it
Suppose ticketNameArr for the first time is
[{name:"Priyanka",
age:24}]
And after 4 hours say ticticketNameArr is
[{name:"Andrew",
age:24}]
Then the array in which I want to append all the data should be like
[{name:"Priyanka",
age:24},
{name:"Andrew",
age:24}
]
The second array of objects should have all the data from the first one.As I mentioned ticketNameArr contains dynamic value and it stored different values after every 3-4 hours.
But every time my xlsx sheet has unappended values.i.e my ticketXLXSCopy is having only overwritten values.
解决方案
您可以使用 Array Concat 合并两个数组,
var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var children = hege.concat(stale);
来源链接:链接
推荐阅读
- asp.net-mvc - 模型绑定 asp.net core web api
- c# - 为 XElement 添加换行符
- mysql - 如何在 typeorm 中使用“leftJoin”从多个表中获取结果?
- typescript - @types/socket.io-redis 编译失败,因为它找不到由@types/socket.io 导出的适配器......它是
- node.js - NODE express route 无法GET /
- amazon-web-services - AWS CONSOLE 我可以使用不在我的组织中的用户吗
- javascript - 如何在 KaiOS 应用中启用模拟光标?
- android - Android 10 中没有设备过滤器的 USB_DEVICE_ATTACHED
- windev - 是否可以将基于 Windows 操作系统的 WINDEV 部署到 Linux 操作系统中?
- momentjs - 显示相对时间时结合天数和小时数