Comment puis-je obtenir les clés de l'objet par un modèle?
J'ai un objet avec les clés nommées:
var names = {
"Peter Pan": {...},
"Peter Parker": {...},
"Tony Stark": {...},
...
}
Est-il un moyen d'obtenir toutes les clés par le modèle, par exemple. toutes les clés ayant Peter?
Le cas c'est que je veux avoir tous les filtrée clés dans un tableau par exemple:
var filteredNames: [
"Peter Pan",
"Peter Parker",
...
]
OriginalL'auteur ajsie | 2011-07-19
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire facilement en boucle sur les touches vous-même:
ES6
filter.test(key)
), tandis que match retourne un tableau qui va être converti en booléen.OriginalL'auteur Lepidosteus
forEach
etfilter
sont pas pris en charge dans IE8 et inférieur.OriginalL'auteur Gabriel
Si vous le souhaitez sensible à la casse:
Si ce n':
Sauf que c'est un objet littéral, donc il n'y aura pas toutes les propriétés énumérables de la chaîne, sauf si vous étendre
Object.prototype
, dans ce cas, votre code devrait pause de sorte que vous pouvez corriger cette faille.Vous êtes entièrement raison, mais je pensais plus le long des lignes de son code d'un exemple bien que son vrai cas d'utilisation pourrait être quelque chose où les noms a des propriétés du prototype. Après avoir vu autant de mauvais usage de dans le dans le code de production, j'ai tendance à avoir le bouclier avant d'être frappé, pour ainsi dire.
Oui, si c'est le cas, elle n'est pas un objet littéral, mais plutôt le produit d'un constructeur personnalisé avec les propriétés énumérables sur son prototype, alors que peut être nécessaire si ces propriétés doivent être exclus. Il se pourrait que le prototype comporte par défaut qui doivent être énumérés.
OriginalL'auteur user113716
Vous pourriez élargir le Tableau JavaScript prototype, comme suit:
Maintenant, je n'ai pas réellement testé ce code, mais ce serait lui donner tous les tableaux que vous créez en JavaScript une méthode .regex_search qui prend un argument "pattern". Ce sera soit return false lorsqu'aucune correspondance n'est trouvée ou un tableau d'indices lorsque les éléments match.
Vous pouvez ensuite parcourir ce tableau et de prendre ces indices du tableau d'origine.
Vous êtes tout à fait correct, je l'ai lu en entier 🙂
OriginalL'auteur ikanobori
ECMAscript 5.1 fournit
Object.keys()
à retourner les noms de propriétés d'un objet.Source.
Standard.
OriginalL'auteur ben rudgers