我要插入主题和消息相同但收件人不同的电子邮件收件人列表。
我已经尝试过以下所示的方法,它获得的是要发送的收件人数,但是对于收件人,它只是获得了推送到数组中的最后一个收件人,这就是为什么将其发送给同一收件人3次的原因
const abc$ = new BehaviorSubject(123).asObservable().pipe(
tap((val) => console.log('pipe: ', val))
);
abc$.subscribe((val) => console.log('subscribe: ', val));
答案 0 :(得分:2)
您只分配一次addEmailObj
:
var addEmailObj = []
这意味着每次您更改或推动addEmailObj
时,您都在更改或推动同一对象。而是在数组内创建它:
for (let i=0 ; i<rowData.length; i++) {
const addEmailObj = {};
请注意,由于您没有将其用作数组,因此不应将其定义为数组-只需使用{}
而不是[]
将其定义为普通对象即可。 (此外,最好不要隐式创建全局变量-正确声明i
)如果可能的话,还应使用ES6语法(let
和const
)而不是ES5语法声明变量。避免var
的吊起引起的混乱。 (var
具有功能范围,而不是块范围)
答案 1 :(得分:0)
// let emailsObj = [];
let addEmailObj = [];
for (i=0 ; i<rowData.length; i++) {
let new_user = {
'claimNo':$('#motorClaimNoInfo').val().trim().toUpperCase(),
'fileNo':$('#motorClaimNoInfo').attr('fileNo'),
'claimDate':$('#motorClaimNoInfo').attr('claimDate'),
'senderCd':$('#motorClaimFileComposeEmailFrom').attr('username'),
'sender':$('#motorClaimFileComposeEmailFrom').val(),
'senderEmail':$('#motorClaimFileComposeEmailFrom').attr('userEmail'),
'recipientCd':rowData[i].username,
'recipient':rowData[i].userFullName,
'recipientEmail':rowData[i].userEmail,
'subject':$('#motorClaimFileComposeEmailSubj').val().trim().toUpperCase(),
'message':$('#motorClaimFileComposeEmailMsg').val().trim().toUpperCase()
};
addEmailObj.push(new_user);
// emailsObj.push(rowData[i].username);
}**
>