第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript 多維數(shù)組完成列獲取集

Javascript 多維數(shù)組完成列獲取集

月關(guān)寶盒 2022-09-11 20:14:43
我正在嘗試用爪哇腳本制作一個游戲。游戲板初始化為零填充的 2-D 數(shù)組。但是,當(dāng)我設(shè)置單個點的值時,將使用該值設(shè)置完整的列。我認(rèn)為這是我初始化數(shù)組的方式的一些問題。方法 1# initializationgameState = Array(6).fill(Array(7).fill(0))# later in the gamegameState[2][4] = 1# results in complete 4th index column to be assigned the value 1, like so -0: (7) [0, 0, 0, 0, 1, 0, 0]1: (7) [0, 0, 0, 0, 1, 0, 0]2: (7) [0, 0, 0, 0, 1, 0, 0]3: (7) [0, 0, 0, 0, 1, 0, 0]4: (7) [0, 0, 0, 0, 1, 0, 0]5: (7) [0, 0, 0, 0, 1, 0, 0]方法 2# initializationlet gameState = [];for (let i=0; i<MAX_ROWS; i++) {    let row = []    for (let j=0; j<MAX_COLUMNS; j++) {       row.push(0)    }    gameState.push(row);}# again similar assignmentgameState[2][4] = 1# results in correct state of the array0: (7) [0, 0, 0, 0, 0, 0, 0]1: (7) [0, 0, 0, 0, 0, 0, 0]2: (7) [0, 0, 0, 0, 1, 0, 0]3: (7) [0, 0, 0, 0, 0, 0, 0]4: (7) [0, 0, 0, 0, 0, 0, 0]5: (7) [0, 0, 0, 0, 0, 0, 0]有人可以解釋我在這里做錯了什么嗎?
查看完整描述

1 回答

?
子衿沉夜

TA貢獻(xiàn)1828條經(jīng)驗 獲得超3個贊

你的問題很簡單。

Array(6).fill(Array(7).fill(0))

讓我們解釋一下這是做什么的。

Array(6)

創(chuàng)建一個多孔數(shù)組,其中包含 6 個項目的空間。

.fill(...)

將用你作為論據(jù)的東西填滿這6個洞。

現(xiàn)在問題來了。

在 Javascript 中,在運行函數(shù)執(zhí)行之前計算參數(shù)。

這意味著(在這種只運行一次的確切情況下),您的代碼與以下代碼完全相同:.fill(...)

const innerArray = [0,0,0,0,0,0,0];
gameState = Array(6).fill(innerArray);

這意味著它用完全相同的數(shù)組實例填充外部數(shù)組 6 次。

您需要的是每次都創(chuàng)建單獨的數(shù)組。只需執(zhí)行此操作:

gameState = [...Array(6)].map(() => [...Array(7)].map(() => 0))


查看完整回答
反對 回復(fù) 2022-09-11
  • 1 回答
  • 0 關(guān)注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號