Javascript二维字符串数组更新值

标签 javascript arrays string immutability

我有以下代码:

var data = ["z wwwww ","www   w ","w b w ww","w w  p w","w    w w","wwbwp  w"," wy  www"," wwwww  "];
console.log(data[0][0]); // outputs "z"
data[0][0]="x";
console.log(data[0][0]); // still output "z". Shouldn't it show "x"?

我在这里缺少什么?

最佳答案

二维数组是一个数组,其中包含数组本身的元素。您提供的示例不是二维数组。

所讨论的元素实际上是一个String

data[0] - 为您提供数据数组中的第一个元素,它是一个字符串。 data[0][0] - 为您提供此字符串元素的第一个字符

在 JavaScript 中,字符串 是字符的集合,但它本身不是数组。可以使用string.split('')将其转换为字符串。

无论如何,它显示 z 而不是 x 的原因是因为字符串是不可变的。这意味着他们的值(value)观不能改变。相反,会创建新对象。

关于Javascript二维字符串数组更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33244637/

相关文章:

c++ - 尝试计算二维数组中的特定字符,但计算整个数组

php - 将带有 httprequest 的 POST 发送到 php

javascript - 仿函数或单子(monad)的名称和存在以链接和终止操作序列

javascript - 如何将数组的数组合并到一个数组中(在 JavaScript 中)?

c - 打印矩阵值

r - 将重复的字母转换为数字

javascript - 传递变量 PHP、Javascript location.reload 和 HTML 输入

javascript - 从父元素获取子元素,但不获取第一个和最后一个元素

string - Excel VBA 循环遍历一串数字,直到找到字母

java - 从文件中分割字符串,但将它们用作 double