7
votes

Concat JS ne fonctionne pas

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?

2 commentaires

Ne faites pas cela . Au lieu de cela, utilisez json.stringify , 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»


4 Réponses :


1
votes

Les chaînes sont immuables.

.concat () renvoie une chaîne nouvelle , que vous ignorez.


0 commentaires

1
votes

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


0 commentaires

9
votes

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";


1 commentaires

Ce travail mais quand j'ai essayé d'ajouter "", "symbole, il peut montrer à Nan



13
votes

La méthode concat () est utilisée pour rejoindre deux chaînes ou plus.

Définition et utilisation

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

Par exemple: xxx

ou xxx


0 commentaires