Javascript二维字符串数组更新值
Javascript two dimensional string array update value
我有以下代码:
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]
- 为您提供此字符串元素的第一个 character
。
在JavaScript中,string
是字符的集合,但它本身不是数组。可以用string.split('')
.
转成字符串
无论如何,它显示 z
而不是 x
的原因是因为字符串是不可变的。这意味着它们的值不能改变。相反,会创建新对象。
我有以下代码:
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]
- 为您提供此字符串元素的第一个 character
。
在JavaScript中,string
是字符的集合,但它本身不是数组。可以用string.split('')
.
无论如何,它显示 z
而不是 x
的原因是因为字符串是不可变的。这意味着它们的值不能改变。相反,会创建新对象。