recherche par clé d'objet dans underscore.js
J'ai de l'objet suivant
{ join: {} }
J'aimerais trouver, c'est par défaut de l'objet du tableau ci-dessous
[
{ login: { label: 'Login', url: '#login' } },
{ join: { label: 'Join', url: '#join', theme: 'a' } },
{ home: { label: 'none', icon: 'home', url: '#', theme: 'a' } }
]
Je voudrais parcourir le tableau et correspondre à la clé, dans ce cas 'join'
.
C'est ce que j'ai à ce jour:
var butt_to_find = { join: {} }
var all_buttons = 'array above'
var matching = _.find(all_buttons, function(default_button){
return if default_butt key @ 1 is the same as butt_to_find key @ 1;
});
C'est la première fois que j'ai utilisé trait de soulignement après avoir entendu tant de choses sur elle.
Toute aide, plus que la bienvenue
source d'informationauteur Chin
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que vous êtes en utilisant une structure de données sous-optimale. Cela aurait plus de sens, et de produire plus simple de code:
Vous êtes peut-être l'aide d'un tableau, parce que l'ordre des boutons est important. Dans ce cas, j'utilise un tableau de tableaux:
où
_.keys(butt_to_find)
évalue à['join']
(un tableau contenant les clés debutt_to_find
),_.keys(butt_to_find)[0]
évalue à'join'
(le premier élément de ladite matrice), et_.keys(butt_to_find)[0] in button
correspond àtrue
oufalse
selon quebutton
contient'join'
comme une clé. (Lede l'opérateur est régulièrement JavaScript opérateur, pas quelque chose d'ajouté par underscore.js.)
Vous pouvez aussi passer à l'lodash de la bibliothèque (une goutte dans la version de trait de soulignement) et le faire