Concat JS无法正常工作

时间:2013-02-27 20:09:48

标签: javascript string concat

var myjson = '{"name": "cluster","children": [';

for (var i = 0; i < unique.length; i++)
{
    var uniquepart = '{"' + unique[i] + '"';
    myjson.concat(uniquepart); 
    var sizepart = ', "size:"';
    myjson.concat(sizepart);
    var countpart = count[i] + '';
    myjson.concat(countpart);
    if (i == unique.length) {
        myjson.concat(" },");
    }
    else {
        myjson.concat(" }");
    }
} 

var ending = "]}";
myjson.concat(ending);

console.log(myjson);

有谁知道为什么这个字符串没有正确连接,我仍然最终得到原始值?

4 个答案:

答案 0 :(得分:6)

concat()方法用于连接两个或多个字符串。

定义和用法
此方法不会更改现有字符串,但会返回包含已连接字符串文本的新字符串 参考:http://www.w3schools.com/jsref/jsref_concat_string.asp

例如:

myjson = myjson.concat(uniquepart); 

OR

myjson += uniquepart; 

答案 1 :(得分:4)

javascript字符串是不可变的,因此concat只能返回一个新值,而不能更改初始值。如果你想附加一个变量的字符串,只需使用

myjson += "some addition";

答案 2 :(得分:1)

字符串是不可变的。

.concat()会返回字符串,您可以忽略该字符串。

答案 3 :(得分:1)

string.concat()不会修改原始字符串,而是返回一个新字符串。

要修改它,您需要执行:

string = string.concat('fragment');