亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何檢查二維數組是否連續具有三個相同的值

如何檢查二維數組是否連續具有三個相同的值

HUH函數 2023-06-09 15:22:42
我試圖找出如何檢查二維數組是否連續包含 3 個相同的值。此二維數組將由用戶生成,因此用于檢查的函數必須是動態的。例如,假設用戶輸入 4x4。結果會是這樣  let arr=[    [" "," "," "," "],    [" "," "," "," "],    [" "," "," "," "],    [" "," "," "," "]  ]讓我向該數組添加一些值  let arr=[    [" "," ","x","x"],    ["x","x","x"," "],    [" "," "," "," "],    [" "," "," "," "]  ]我試圖用這個函數來解決這個問題,但昨天我注意到它不適合。  function checkArray(arr){    for(let i=0;i<arr.length;i++){      let count = 0;      for(let j=0;j<arr[i].length;j++){        if(arr[i][j] === 'x'){          count++;        }        if(count === 3 ){          console.log('x wins')        }      }    }  }    console.log(checkArray(arr)) //count will be 3 and console.logs 'x wins'.此時此刻,我認為一切正常,直到我嘗試像這樣填充數組。如您所見,沒有連續三個 X(我的意思是它們不是這樣的 - x,x,x),它們之間有一個空格。  let arr=[    [" "," ","x","x"],    ["x","x"," ","x"],    [" "," "," "," "],    [" "," "," "," "]  ]所以不應該滿足條件并且函數不應該是 console.log('w wins')。但確實如此。我解決這個問題的方法適用于整行,而不僅僅是連續 3 個 (x,x,x)。我希望我已經解釋清楚了。謝謝你的建議。
查看完整描述

1 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

如果您沒有獲得 . ,則需要重置計數'x'。


function checkArray(arr) {

  for (let i = 0; i < arr.length; i++) {

    let count = 0;

    for (let j = 0; j < arr[i].length; j++) {

      if (arr[i][j] === 'x') {

        count++;

        if (count === 3) {                    // place check after incrementing

          console.log('x wins')

          return true;

        }

      } else {

        count = 0;                            // reset

      }

    }

  }

  return false;

}


let arr = [

  [" ", " ", "x", "x"],

  ["x", "x", " ", "x"],

  [" ", " ", " ", " "],

  [" ", " ", " ", " "]

]


console.log(checkArray(arr));


查看完整回答
反對 回復 2023-06-09
  • 1 回答
  • 0 關注
  • 223 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號