let day = [];
let hours = [];
for (let j = 0; j < 3; j ) {
for (let k = 0; k < 3; k ) {
hours[k] = Math.floor(Math.random() * 25 20);
}
day[j] = hours;
console.log(`day[${j}] ${day[j]}`);
}
console.log(`${day[0]}`)
console.log(`${day[1]}`)
console.log(`${day[2]}`)
uj5u.com熱心網友回復:
當您宣告global 時let hours = [];,并告訴 JavaScript day[j] = hours;,day[j]將分配給 global 的記憶體位置hours。為了避免這種情況,您可以hours通過在塊范圍內宣告它來為每個生成的分配新的記憶體位置。
let day = [];
for (let j = 0; j < 3; j ) {
let hours = [];
for (let k = 0; k < 3; k ) {
hours[k] = Math.floor(Math.random() * 25 20);
}
day[j] = hours;
console.log(`day[${j}] ${day[j]}`);
}
console.log(`${day[0]}`)
console.log(`${day[1]}`)
console.log(`${day[2]}`)
uj5u.com熱心網友回復:
如每day[j] = hours行的所有值day,即day[0],day[1]和day[2]指的是陣列hours。內for回圈的最后一個執行周期,hours設定為[29,27,42]。因此,所有day值的輸出都相同。
要為每個day元素設定適當的值,請按如下方式修改代碼:
day[j] = [...hours]
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/370003.html
標籤:javascript 数组
下一篇:按當前日期對陣列進行排序
