Javascript Concat JS不工作 var myjson='{“name”:“cluster”,“children”:['; 对于(变量i=0;i

Javascript Concat JS不工作 var myjson='{“name”:“cluster”,“children”:['; 对于(变量i=0;i,javascript,string,concat,Javascript,String,Concat,有人知道为什么这个字符串不能正确连接,而我仍然以原始值结束吗?字符串是不可变的 .concat()返回一个新的字符串,您可以忽略该字符串。不修改原始字符串,而是返回一个新字符串 要修改它,您需要执行以下操作: var myjson = '{"name": "cluster","children": ['; for (var i = 0; i < unique.length; i++) { var uniquepart = '{"' + unique[i] + '"'; m

有人知道为什么这个字符串不能正确连接,而我仍然以原始值结束吗?

字符串是不可变的

.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);

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

string = string.concat('fragment');
concat()
方法用于连接两个或多个字符串

定义和用法
此方法不会更改现有字符串,但会返回一个包含连接字符串文本的新字符串。
参考:

例如:

myjson += "some addition";


不要这样做。相反,使用
JSON.stringify
,它(a)有效,(b)更快,(c)将实际生成有效的JSON。这很有效,但当我尝试添加“,”符号时,它可能会显示NaN
myjson = myjson.concat(uniquepart); 
myjson += uniquepart;