我有两个Array类型的二维数组,但当我将其与plus方法结合时,会得到如下输出:
cells.plus(states.last().board.cells) —>
My output (cells here is my array of Array<Array<Char>>)
| |
| X |
| |
|X |
| |
| |
如何正确合并?
例如我有:
val board3x3Array = arrayOf(
arrayOf(' ', ' ', ' '),
arrayOf(' ', 'X', ' '),
arrayOf(' ', ' ', '0')
)
val board3x3Array2 = arrayOf(
arrayOf('0', ' ', ' '),
arrayOf(' ', ' ', ' '),
arrayOf(' ', ' ', ' ')
)
And I need after merge:
val merged = arrayOf(
arrayOf('0', ' ', ' '),
arrayOf(' ', 'X', ' '),
arrayOf(' ', ' ', '0')
)
2条答案
按热度按时间06odsfpq1#
假设条件:两个2D数组具有相同的维度,如果两个数组在坐标上都有非
' '
字符,则第一个数组优先。我认为最简单的方法是使用Array构造函数来创建合并数组,同时迭代其中一个源数组的大小,如下所示。
rvpgvaaj2#
您可以使用以下代码来实现:
在这里,您只需检查单元格中
board3x3Array2
的值是否为空字符串' '
,然后用board3x3Array
的值替换该单元格