微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尝试更新板但返回 true

如何解决尝试更新板但返回 true

我正在尝试改变我的电路板,但我声明的功能不起作用。让我解释一下:

  • 我有一个 18x24 的板子,如果它充满元素,我正试图清除一行(我取消移动它以便顶部的另一行落到它的位置)
  • 为此,我声明了一个应该返回新板的函数
  • 但是,由于某种原因,该函数没有返回棋盘,而是返回一个布尔值,这是出乎意料的。

这是初始板(不应该考虑边框-用'#'-显示):

const myBoard = [
        Array(18).fill('#'),['#','','#'],Array(18).fill('#')
    ]

功能如下:

function checkFilledRow(board) {
  let newBoard = []
  for (var row=1;row<board.length - 1;row++) {
    const currentRow = board[row]
    let newRow = []
    for (var i=1;i<currentRow.length - 1;i++) {
      if (currentRow[i] === '') {
        console.log(true)
        newRow = currentRow
        newBoard.push(newRow)
        break
      } else if (i === currentRow.length - 2) {
        newRow = ['#','#']
        newBoard.unshift(newRow)
        console.log(false)
      }
    }
  }
  return newBoard
}

有什么问题吗?你会推荐什么?我对条件几乎没有做任何事情,但我看不到我的代码中返回布尔值的一点。

解决方法

问题是因为我忘记添加顶部和底部边框,所以我会每圈减少行数。我就是这样解决的:

newBoard.unshift(Array(18).fill('#'))
newBoard.push(Array(18).fill('#'))
return newBoard

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。