Concat JS无法正常工作

use*_*255 4 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);
Run Code Online (Sandbox Code Playgroud)

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

Der*_*rek 8

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

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

例如:

myjson = myjson.concat(uniquepart); 
Run Code Online (Sandbox Code Playgroud)

要么

myjson += uniquepart; 
Run Code Online (Sandbox Code Playgroud)


Den*_*ret 5

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

myjson += "some addition";
Run Code Online (Sandbox Code Playgroud)