【发布时间】:2020-02-26 23:38:18
【问题描述】:
当我运行此程序时,除了数组推送外,一切正常。 console.log(notificationdata);显示通知数据正确更新了它的值,但然后查看 console.log(notifications) 我有 7 个相同的值,其值与来自通知数据的最后一个匹配。不知何故,推送到阵列没有正确发生,我似乎无法弄清楚。有什么想法吗?
var notifications = [];
reminder.days.value = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
reminder.times = [00:00]
var notificationdata = {
title: "Nu är det dags att ta en dos",
text: "Ta " + medication + " mot " + affliction + " nu.",
smallIcon: "../images/DosAvi_badge.png",
icon: "../images/DosAvi_icon.png",
every: "week",
foreground: true
}
notificationdata.id = reminder.id;
for(const day of reminder.days.value){
for(const time of reminder.times){
notificationdata.firstAt = getNextDayOfTheWeek(day, new Date(`Mon Jan 01 2020 ${time}`));
//notificationdata.firstAt = new Date(`Wen Feb 26 2020 21:55`);
console.log(notificationdata);
notifications.push(notificationdata);
}
}
console.log(notifications)
cordova.plugins.notification.local.schedule(notifications);
}
【问题讨论】:
-
您可以尝试不使用 const in for,这样 time 和 day 可能会发生变化。将其更改为 let 或只是 var.
标签: javascript arrays for-loop nested-loops