0
我有以下代碼。For循環多次使用Javascript追加對象
const timeLabels = [
{ name: "1:00 AM", present: true, label: ["1:00", "2:00"], value: "1:00" },
{ name: "2:00 AM", present: true, label: ["2:00", "3:00"], value: "2:00"},
{ name: "3:00 AM", present: true, label: ["3:00", "4:00"], value: "3:00" },
];
const targetedTimes = [["0:00", "1:00"], ["1:00", "2:00"]]
let actualTime = [];
console.log("getting time");
console.log("start: the actualTime is", actualTime);
for (var j = 0; j < timeLabels.length; j++) {
console.log("x");
var currItem = timeLabels[j];
var label = JSON.stringify(currItem.label);
var adTime = JSON.stringify(targetedTimes);
if (adTime.indexOf(label) >= 0) {
currItem.present = true;
} else {
currItem.present = false;
}
console.log("the current item is", currItem);
actualTime.push(currItem);
console.log("The actual time is", actualTime);
}
在第一次迭代中,currItem是
{name: "1:00 AM", present: true, label: Array(2), value: "1:00"}
但actualTime是
[{name: "1:00 AM", present: true, label: Array(2), value: "1:00"},
{name: "2:00 AM", present: false, label: Array(2), value: "2:00"},
{name: "3:00 AM", present: false, label: Array(2), value: "3:00"}]
爲什麼會actualTime名單有三個值時,我只在第一次迭代中追加1?
等一下,for循環前的'console.log'怎麼樣?它記錄了什麼? – Zeke
這裏沒有什麼是錯的;這一切都非常有意義。 – HyperNeutrino
@HyperNeutrino你可以詳細說明爲什麼當我console.log currItem它顯示1項,但當我真的推它到列表,它追加3項在第一次迭代? – lost9123193