Utilisation lodash de trouver une valeur correspondante, si elle existe
J'ai le texte suivant:
myArray = [{
"urlTag": "Google",
"urlTitle": "Users",
"status": 6,
"nested": {
"id": 2,
"title": "http:\/\/www.google.com",
}
},
{
"urlTag": "Bing",
"tabTitle": "BingUsers"
}]
J'ai myUrlTagToSearch = "Yahoo"
, je veux faire une boucle par myArray
, vérifiez si un urlTag
est égal à "Yahoo"
, si oui: retour "Yahoo"
, si ce n'est: il suffit de renvoyer une chaîne vide (""
). Dans cet exemple, il doit retourner ""
, car il ya seulement "Google"
et "Bing"
.
Puis-je faire cela avec lodash?
OriginalL'auteur PhoonOne | 2015-07-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser lodash
find()
méthode mélangé avec un conditionnel (if
) pour ce faire.Pour les débutants, à la recherche d'un tableau, vous pouvez utiliser:
Vous pouvez remplacer
"Yahoo"
avec votremyUrlTagToSearch
variable ici.Si aucune correspondance n'est trouvée, il va revenir
undefined
, sinon ça va revenir la correspondanceObject
. Comme les Objets sont truthy valeurs etundefined
est un fasley valeur, nous pouvons simplement utiliserresult
que la condition à l'intérieur d'unif
déclaration:Nous n'avons même pas besoin de définir
result
ici, comme nous pouvons simplement utiliser:Ou encore:
find()
à vérifier l'existence, plutôt que de réellement en utilisant le résultat, vous pouvez utiliser (). Il fait un peu moins de travail quefind()
.OriginalL'auteur James Donnelly
Vous avez probablement peut le faire avec lodash (je ne sais pas beaucoup sur lodash), mais dans le cas où personne d'autre réponses il ya un moyen simple de vanille JS solution:
DÉMO
OriginalL'auteur Andy