Javascript多维数组更新特定元素

编程入门 行业动态 更新时间:2024-10-26 18:24:17
本文介绍了Javascript多维数组更新特定元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个已在js中转换为2D数组的字符串.

I have a string that has been converted into an 2D Array in js.

它用来表示游戏板

每个.代表一个空间

每个|代表一行

每个X代表一堵墙

var src= "...|.X.|...|"; board = src.split(/\|/g); for (var i = 0; i < board.length; i++) { var cells = board[i].split(''); for (var j = 0; j < cells.length; j++) { cells[j] = parseInt(cells[j]); } board[i][j] = cells; console.log(board[1][1]) //returns 'X'

当我访问board [i] [j]时,它会正确返回:

when i access board[i][j] it returns correctly:

等等等

我想用代表作品的字符串来更新特定元素. 但是,当我插入这样的元素时:

I want to update the specific element with a string representing a piece. However when i insert into an element like so:

数组在萤火虫中返回,如下所示:

The array returns in firebug as so:

看起来应该是这样的:

为什么元素[0] [1]和[0] [2]被覆盖?我不是在js中正确理解数组索引访问的数组吗?

Why are elements [0][1] and [0][2] being overwritten? Am I not understanding arrays of array index access correctly in js?

推荐答案

问题:

我敢打赌,您有一个一维数组,每个数组中都存储有字符串.因此,您的数组实际上看起来像:

PROBLEM:

I'm betting that you have a one-dimensional array with strings stored in each. So your array actually looks like:

array ( [0] => '...', [1] => '.X.', [2] => '...' )

这是您想要的时候:

array ( [0] => array ( [0] => '.', [1] => '.', [2] => '.' ), [1] => array ( [0] => '.', [1] => 'X', [2] => '.' ), [2] => array ( [0] => '.', [1] => '.', [2] => '.' ) )

构造2D数组时,请确保将board中的每个条目显式声明为数组.因此,要构建它,您的代码可能看起来像这样:

When constructing your 2D array, make sure you explicitly declare each entry in board as an array. So to construct it, your code might look something like this:

board = new Array(); rows = 3; for (var i = 0; i < rows; i++) board[i] = new Array('.', '.', '.');

更多推荐

Javascript多维数组更新特定元素

本文发布于:2023-10-23 18:58:58,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1521727.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:多维   数组   元素   Javascript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!