gpt4 book ai didi

javascript - 如何将一组对象添加到单个数组中?

转载 作者:行者123 更新时间:2023-11-30 14:02:54 25 4
gpt4 key购买 nike

我正在插入一个主题和消息相同但收件人不同的电子邮件收件人列表。

我已经尝试了下面显示的一些方法,它得到了要发送的收件人的数量,但对于收件人来说,它只得到了最后一个被插入数组的收件人,这就是为什么它被发送给同一个收件人 3 次.

        var emailsObj = [];
var addEmailObj = [], obj;
for (i=0 ; i<rowData.length; i++) {
addEmailObj["claimNo"] = $('#motorClaimNoInfo').val().trim().toUpperCase();
addEmailObj["fileNo"] = $('#motorClaimNoInfo').attr('fileNo');
addEmailObj["claimDate"] = $('#motorClaimNoInfo').attr('claimDate');
addEmailObj["senderCd"] = $('#motorClaimFileComposeEmailFrom').attr('username');
addEmailObj["sender"] = $('#motorClaimFileComposeEmailFrom').val();
addEmailObj["senderEmail"] = $('#motorClaimFileComposeEmailFrom').attr('userEmail');
addEmailObj["recipientCd"] = rowData[i].username;
addEmailObj["recipient"] = rowData[i].userFullName;
addEmailObj["recipientEmail"] = rowData[i].userEmail;
addEmailObj["subject"] = $('#motorClaimFileComposeEmailSubj').val().trim().toUpperCase();
addEmailObj["message"] = $('#motorClaimFileComposeEmailMsg').val().trim().toUpperCase();
emailObj.push(addEmailObj[i]);
emailsObj.push(rowData[i].username);
}

Here's the console for this code
```[INFO ] 2019-05-06 14:25:37.766 [http-nio-8080-exec-10] MotorClaimInquiryController - emailObj {claimNo=100161002000351, fileNo=1, claimDate=11-21-2016, senderCd=MGSIMBIL, sender=MICHELLE G. SIMBILLO, senderEmail=MGSIMBILLO@MAPFREINSULAR.COM, recipientCd=ABSERNIO, recipient=SERNIO, ANNABEL BENAS, recipientEmail=ABSERNIO@MAPFREINSULAR.COM, subject=100161002000351-01, message=}
[INFO ] 2019-05-06 14:25:39.059 [http-nio-8080-exec-10] MotorClaimInquiryController - emailObj {claimNo=100161002000351, fileNo=1, claimDate=11-21-2016, senderCd=MGSIMBIL, sender=MICHELLE G. SIMBILLO, senderEmail=MGSIMBILLO@MAPFREINSULAR.COM, recipientCd=ABSERNIO, recipient=SERNIO, ANNABEL BENAS, recipientEmail=ABSERNIO@MAPFREINSULAR.COM, subject=100161002000351-01, message=}
[INFO ] 2019-05-06 14:25:40.578 [http-nio-8080-exec-10] MotorClaimInquiryController - emailObj {claimNo=100161002000351, fileNo=1, claimDate=11-21-2016, senderCd=MGSIMBIL, sender=MICHELLE G. SIMBILLO, senderEmail=MGSIMBILLO@MAPFREINSULAR.COM, recipientCd=ABSERNIO, recipient=SERNIO, ANNABEL BENAS, recipientEmail=ABSERNIO@MAPFREINSULAR.COM, subject=100161002000351-01, message=}

The result should have different recipients. Thanks

最佳答案

您只分配给 addEmailObj 一次:

var addEmailObj = []

这意味着每次您改变或推送 addEmailObj 时,您都在改变或推送相同的对象。改为在数组中创建它:

for (let i=0 ; i<rowData.length; i++) {
const addEmailObj = {};

请注意,由于您没有将其用作数组,因此不应将其定义为数组 - 只需将其定义为普通对象,使用 {},而不是 [ ]。 (此外,最好不要隐式创建全局变量 - 正确声明你的 i)如果可能的话,也用 ES6 语法声明你的变量(letconst) 而不是 ES5 语法,以避免因 var 的提升而引起的混淆。 (var 是函数作用域,不是 block 作用域)

关于javascript - 如何将一组对象添加到单个数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56000035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com