J'ai besoin de créer un tableau de littéraux d'objets comme celui-ci:
var myColumnDefs = [
{key:"label", sortable:true, resizeable:true},
{key:"notes", sortable:true,resizeable:true},......
Dans une boucle comme celle-ci:
for (var i = 0; i < oFullResponse.results.length; i++) {
console.log(oFullResponse.results[i].label);
}
La valeur de key
doit être results[i].label
dans chaque élément du tableau.
javascript
arrays
object-literal
codecowboy
la source
la source
var obj = {
bit, il suffit de pousser le littéral lui-même.var obj
pour rendre le code plus clair, bien sûr vous pouvez le sauter, vous pouvez écrire le script entier sur une seule ligne si vous le souhaitez :)La réponse de RaYell est bonne - elle répond à votre question.
Il me semble cependant que vous devriez vraiment créer un objet incrusté d'étiquettes avec des sous-objets comme valeurs:
L'approche ci-dessus devrait être beaucoup plus rapide et idiomatique que de rechercher dans le tableau d'objets entier une clé pour chaque accès.
la source
Vous pouvez faire quelque chose comme ça dans ES6.
la source
C'est ce à quoi les cartes Array # sont bonnes
la source
Cela fonctionnera:
la source
Dans la même idée de Nick Riggs mais je crée un constructeur, et un push un nouvel objet dans le tableau en l'utilisant. Il évite la répétition des clés de la classe:
la source
Je créerais le tableau et y ajouterais ensuite les littéraux d'objet.
la source
la source
[]
au lieu denew Array()
.Si vous voulez aller encore plus loin que @tetra avec ES6, vous pouvez utiliser la syntaxe de propagation d'objet et faire quelque chose comme ceci:
la source