8
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

4 回答 4

14

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

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

例如:

myjson = myjson.concat(uniquepart); 

或者

myjson += uniquepart; 
于 2013-02-27T20:13:20.113 回答
9

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

myjson += "some addition";
于 2013-02-27T20:12:02.003 回答
1

字符串是不可变的。

.concat()返回一个您忽略的字符串。

于 2013-02-27T20:11:18.303 回答
1

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

为了修改它,您需要执行:

string = string.concat('fragment');
于 2013-02-27T20:11:34.437 回答