二维字符串数组的创建

尤里·亚基姆(Yuriy Yakym)

我试图以这种方式在JavaScript中创建1个字符的字符串的二维数组:

var panel = new Array(3).fill(new Array(3).fill('*'));

结果是

[
    ['*', '*', '*'],
    ['*', '*', '*'],
    ['*', '*', '*']
]

之后,我需要替换中间字符串:

panel[1][1] = '#';

结果是

[
    ['*', '#', '*'],
    ['*', '#', '*'],
    ['*', '#', '*']
]

因此,似乎原型fill函数通过引用将对象填充到数组中。

是否可以强制fill函数用不同的对象实例填充数组?如果没有,您认为哪种方法创建这种二维数组是最好的?


更新

算法假定创建一个星号平面,然后将许多星号替换为另一个产生合理结果的符号。之后将被打印。

C它可以使用的矩阵来完成charS和改变在任何索引符号。但是,就我们不能简单地更改javascript字符串中的单个符号而言,我正在尝试找到一些不错的类似物。

目前,我已经使用两个循环创建了二维数组,然后更改了所需的符号,然后使用mapjoin函数将这个结果连接到一个字符串中。但这是最好的解决方案吗?

谢谢你。

拉杰谢卡·雷迪(Rajshekar Reddy)

不确定此方法的效率,但可以使用将该数组转换为字符串JSON.stingify(),然后解析回原始格式,从而JSON.parse()使对象失去其原始引用,并且可以轻松工作。

var panel = new Array(3).fill(new Array(3).fill('*'));
var copy = JSON.parse(JSON.stringify(panel));

copy[1][1] = '#';

//you can assign the value of variable 'copy' back to 'panel' if required.

document.write(JSON.stringify(copy)); //for demo

您可以通过这种方式将上述逻辑简化为单行代码,而无需额外的变量

var panel = JSON.parse(JSON.stringify(new Array(3).fill(new Array(3).fill('*'))));
panel[1][1] = '#';

document.write(JSON.stringify(panel)); //for demo

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从字符串创建二维数组

来自分类Dev

从字符串创建二维数组,但忽略特定字符

来自分类Dev

从字符串创建二维数组,但忽略特定字符

来自分类Dev

如何创建一个给定字符串的二维字符数组?

来自分类Dev

C#-字符串数组的二维数组

来自分类Dev

将二维字符串数组转换为二维数组

来自分类Dev

字符串中的二维数组在C中创建错误的输出

来自分类Dev

LUA:如何从字符串创建二维数组/表

来自分类Dev

创建一个二维字符串数组

来自分类Dev

如何使用字符串创建二维数组?

来自分类Dev

字符串中的二维数组在C中创建错误的输出

来自分类Dev

一维字符串数组与C中的二维字符串数组的比较

来自分类Dev

从字符串创建二维字典

来自分类Dev

替换二维数组中的字符串值

来自分类Dev

如何从字符串读取numpy二维数组?

来自分类Dev

C中的二维字符串数组

来自分类Dev

C中的二维字符串数组

来自分类Dev

Javascript二维字符串数组更新值

来自分类Dev

通过二维数组输入字符串

来自分类Dev

替换二维数组中的字符串

来自分类Dev

如何从二维数组中检索字符串

来自分类Dev

Java中的二维字符串数组

来自分类Dev

优雅地指定二维字符串数组

来自分类Dev

替换二维数组中的字符串值

来自分类Dev

比较二维字符串数组与std :: sort

来自分类Dev

C中的二维字符串数组

来自分类Dev

从二维 numpy 数组连接字符串

来自分类Dev

二维字符串数组冒泡排序

来自分类Dev

二维字符串数组和字符串数组列表的区别