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); Does anyone know why this string doesn't concat properly and I still end up with the original value?
4 Réponses :
Les chaînes sont immuables. p>
.concat () code> renvoie une chaîne
string.concat () code>
ne modifie pas le Chaîne originale, il renvoie plutôt une nouvelle chaîne.
Pour le modifier, vous auriez besoin d'effectuer: P>
string = string.concat('fragment');
Une chaîne JavaScript est immuable de sorte que Concat code> ne peut renvoyer qu'une nouvelle valeur, pas changer le premier. Si vous souhaitez ajouter à une chaîne que vous avez aussi variable, utilisez simplement
myjson += "some addition";
Ce travail mais quand j'ai essayé d'ajouter "", "symbole, il peut montrer à Nan
La méthode Définition et utilisation b> Par exemple: p> ou p> concat () code> est utilisée pour rejoindre deux chaînes ou plus.
Cette méthode ne modifie pas les chaînes existantes, mais renvoie une nouvelle chaîne contenant le texte des chaînes jointes.
Ref: http://www.w3schools.com/jsref/jsref_concat_string.asp p>
Ne faites pas cela b>. Au lieu de cela, utilisez
json.stringify code>, lequel (a) fonctionne (b) est plus rapide, et (c) produira réellement un JSON valide.
@Slaks Pour être honnête, Concat n'est vraiment pas mauvais. La différence dans cette question est que JSON est en cours de concession. Votre commentaire serait mieux exprimé comme «ne faites pas cela si vous essayez de concaténer JSON»