2015-10-20 66 views
1

我有以下代碼:的Javascript二維字符串數組更新值

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"? 

缺少什麼我在這裏?

+3

字符串是不可變的 – Oriol

回答

1

二維數組是一個數組,它包含數組本身的元素。您提供的示例不是二維數組。

有問題的元素其實是String

data[0] - 爲您提供數據數組中的第一個元素,它是一個字符串。 data[0][0] - 爲您提供此字符串元素的第一個character

在JavaScript中,string是一個字符集合,但它不是一個數組本身。它可以被轉換成一個字符串string.split('')

不管怎麼說,它顯示的原因是z而不是x,是因爲字符串是不可變的。這意味着他們的價值觀不能改變。相反,創建新對象。

+0

您可以使用string.split將字符串轉換爲數組('') –

+0

不,字符串不是數組。這是一個字符串。 – 2015-10-20 18:57:28