-1
votes

Touches d'objet JavaScript peuplées / valeurs en boucle?

Je veux faire quelque chose comme ceci: xxx

Cependant, cela me donne une erreur.

Impossible de définir les «mots» de propriété non définis

Pour l'instant, j'ai résolu-la comme ceci: xxx

... mais cela signifie que je dois toujours pousser un objet vide dans le tableau à l'avance? Quelle est la solution standard / une solution élégante ici?


2 commentaires

D'où vient les 4? Peut-être partager encore plus de code pour obtenir une meilleure réponse


Oh désolé a propos de ca. C'est juste codé dur pour le moment, basé sur un autre tableau; À l'avenir, il suffira d'utiliser ce tableau .length .


5 Réponses :


0
votes

Créez l'objet, puis ajoutez-le à la matrice:

let obj = [];

for(let i=0;i<4;i++) {

// doing some stuff here ...
// and then, finally:
const newObj = { words: wordsOfSentence }
obj[i] = newObj;
}


0 commentaires

0
votes

Vous pouvez utiliser si l'instruction xxx

ou vous pouvez affecter une valeur par défaut avant d'accéder à xxx


0 commentaires

0
votes

Vous pouvez simplement appuyer sur un nouvel objet dans chaque itération.

let objects = [];

for (let i = 0; i < 4; i++) {
    objects.push({words: wordsOfSentence});
}


0 commentaires

2
votes

Vous devez avoir à créer un objet JSON vierge, avant de stocker une paire à valeur de clé, puis vous appuierez un objet JSON dans la matrice.

let objects = [];
for (let i = 0; i < 4; i++) {
    objects[i] = {};
    objects[i].words = 'wordsOfSentence';  
    objects.push(objects[i]);  

}

console.log(objects);


2 commentaires

Je n'ai pas compris votre question pouvez-vous s'il vous plaît expliquer à peu de bref.


Je viens de mentionner le terme json . Ceci est uniquement des données stringifiées, mais pas un tableau ou un objet.



0
votes
let _obj = {};
_obj.words = [];
for (let i = 0; i < 4; i++) {    
    _obj.words.push('WordsOfSentense');
}
console.log(_obj);
This should help.

0 commentaires