Javascript将方法分配给数组值

时间:2014-05-24 18:24:14

标签: javascript arrays methods

我试图弄清楚为什么我不能将toUpperCase方法分配给数组中的特定值(见下文)。我有点困惑,因为我认为对象是可变的并通过引用操纵?也许我正在向后看?

var ary = ["hello", "there", "world"];
ary[0][0] = ary[0][0].toUpperCase();
console.log(ary[0][0]); // returns lowercase h

任何澄清都会对我有所帮助。

1 个答案:

答案 0 :(得分:1)

由于字符串在JavaScript中是不可变的,因此将新字符分配给String的索引将不会更改字符串。你需要像这样创建一个新的

ary[0] = ary[0][0].toUpperCase() + ary[0].substr(1);
# H

我们正在创建一个新的字符串,首字母大写,字符串的其余部分保持不变。