我想将字符串的一部分设置为等于数组的一部分。基本上以下是我的尝试:
var x=[4,6,9,2];
var y="hello";
// y[0] is h; y[1] is e; and so on
y[0] = x[2];
alert(y);
// should alert 9ello; but it doesn't, any ideas?
答案 0 :(得分:2)
字符串是不可变的。数组表示法只能用于获取字符,但不能用于设置它们。
您应该将字符串拆分为一个字符数组,并在最后将其连接回来。
y = y.split(''); // ["h","e","l","l","o"]
y[0] = x[2]; // ["9","e","l","l","o"]
y = y.join(''); // "9ello"
答案 1 :(得分:0)
您可以使用替换并将结果放入新字符串中:
var x=[4,6,9,2];
var y="hello";
var z= y.replace(y[0], x[2]);
alert(z);
或者没有创建新字符串:
var x=[4,6,9,2];
var y="hello";
alert (y.replace(y[0], x[2]) );