L'obtention de l'objet nom de la propriété
Je me demandais si il y avait un moyen en JavaScript pour faire une boucle par un objet comme si.
for(var i in myObject) {
//...
}
Mais obtenir le nom de chaque propriété comme cela.
for(var i in myObject) {
separateObj[myObject[i].name] = myObject[i];
}
Je n'arrive pas à trouver quelque chose comme ça sur Google. Ils disent de passer les noms de variables avec eux, mais ce n'est pas une option pour ce que je suis en train de réaliser.
Merci pour toute aide que vous pouvez offrir.
- Double de stackoverflow.com/questions/85992/...
seperate
devrait êtreseparate
- Merci, corrigé. Wow, cette question est un souffle du passé. J'ai parcouru un
'l' + new Array(1000).join('o') + 'ng'
de chemin depuis. - vérifié réponse est incorrecte, l'utilisation de l'Objet.méthode keys ().
- vérifié réponse et l'Objet.les touches() chose faire des choses différentes, donc, en fonction de ce que vous voulez que ce soit, on peut être de droite.
- Double Possible de Comment dois-je énumérer les propriétés d'un objet JavaScript?
Vous devez vous connecter pour publier un commentaire.
Utilisation Objet.keys():
JS:
Object.keys()
vous donne un tableau des noms de propriété appartenant à la saisie de l'objet.i
est le nom.De sorte que vous pouvez faire:
hasOwnProperty
si vous ne voulez pas des propriétés héritées. De cette façon, vous n'êtes pas aveuglément à la suite de certaines règles. Il se peut que dans certains cas, vous voulez vraiment regarder les propriétés héritées. Une autre façon de parcourir un objet propriétés à l'aide de Objet.les touches.Object.keys(obj).forEach(function(prop){ alert obj[prop]})
Avertissement
J'ai mal compris la question: "puis-je savoir le nom de la propriété qu'un objet a été attaché à", mais a choisi de laisser la réponse étant donné que certaines personnes pourraient se retrouver lors de la recherche pour que.
Non, un objet pourrait être rattaché à plusieurs propriétés, de sorte qu'il n'a aucun moyen de connaître son nom.
Ce serait obj nom de l'être?
Êtes-vous sûr que vous ne voulez pas seulement le nom de la propriété à partir de la boucle for?
vous pouvez facilement effectuer une itération dans les objets
par exemple: si l'objet est
var a = {a: "pomme", b: "boule", c:'cat', d:'poupée', e:'éléphant'};
Pour obtenir la propriété de l'objet ou de la "clé du tableau" ou "index de tableau" selon ce que votre langue maternelle est le..... Utilisation de l'Objet.méthode keys ().
Important, c'est seulement compatible avec les navigateurs Modernes":
Donc, si votre objet est appelé, myObject...
Walla! Ce sera certainement le travail dans le dernier firefox et ie11 et chrome...
Voici un peu de documentation au MDN
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys
pour un accès direct à une propriété de l'objet par la poste...
généralement utile pour les biens [0]... il est titulaire d'info sur la suite de la...
ou dans node.js 'exigent.cache[0] " pour le premier chargement de module externe, etc. etc.
DANS L'ES5
E. G. vous avez ce genre d'objet:
Et maintenant, si vous voulez avoir une fonction que si vous passez '0' comme un param - d'obtenir des "STEP_ELEMENT', si '2' pour obtenir 'BLUE_ELEMENT" et donc, pour
Ce n'est probablement pas la meilleure solution au problème, mais il est bon de vous donner une idée de comment le faire.
Acclamations.
À compter de 2018 , Vous pouvez faire usage de
Object.getOwnPropertyNames()
comme décrit dans Développeur Mozilla DocumentationLorsque vous faites le pour/en boucle, vous mettez tout d'abord, je est le nom de la propriété. Si vous avez le nom de la propriété, j', et accéder à la valeur en faisant myObject[i].
Ces solutions fonctionnent aussi.
Rapide & sale: