comment vérifier si toutes les clés de l'objet a de fausses valeurs
JS Objet:
var saver = {
title: false,
preview: false,
body: false,
bottom: false,
locale: false
};
La question est de savoir comment vérifier si toutes les valeurs est faux?
Je peux utiliser $.chacun() fonction jQuery et certains variable d'indicateur, mais il y a peut être une meilleure solution?
tu veux dire sans itération sur les propriétés?
Yep. Je veux trouver un solution plus élégante.
Une solution plus élégante ajouté ci-dessous. Vous pouvez le faire sans itération, juste en utilisant jQuery.
Yep. Je veux trouver un solution plus élégante.
Une solution plus élégante ajouté ci-dessous. Vous pouvez le faire sans itération, juste en utilisant jQuery.
OriginalL'auteur avkryukov | 2014-05-12
Vous devez vous connecter pour publier un commentaire.
Dans un commentaire vous demander si vous pouvez éviter d'itération. Vous pouvez si vous utilisez une bibliothèque javascript soutenir une approche fonctionnelle, comme Trait de soulignement, Lodash ou Sucre.
Avec un trait de Soulignement et Lodash vous pouvez écrire quelque chose comme ceci:
Avec le Sucre, vous pouvez simplement écrire:
Vous pourriez tout aussi bien le faire dans Lodash:
var result = _.every(_.valuesIn(saver), Boolean));
OriginalL'auteur andersh
C'est une solution très simple qui nécessite l'activation de JavaScript 1.8.5.
Exemples:
Sinon, vous pourriez écrire
Voir le Mozilla Developer Network Objet.les touches()'s de référence pour de plus amples informations.
OriginalL'auteur MattClimbs
Si vous voulez le faire externes sans itération (c'est à dire dans votre code), essayez de mapper les propriétés d'un tableau avec
$.map
puis à l'aide de$.inArray
pour voir si en vrai il existe des valeurs:JSFiddle: http://jsfiddle.net/TrueBlueAussie/FLhZL/1/
OriginalL'auteur Gone Coding
Faire comme ceci,
OriginalL'auteur Balachandran
De Lodash 4.0, overEvery peut être utilisé
overEvery(saver, false)
boucles à travers chaque élément & vérifie si sonfalse
Il retourne
true
si chaque élément estfalse
sinon renvoiefalse
poser une nouvelle question avec plus de détails
OriginalL'auteur deadcoder0904
À court et à portée de main one-liner, entièrement pris en charge par les navigateurs:
ou
(attention tho, Objet.les valeurs de() n'est pas pris en charge par IE encore).
OriginalL'auteur voogieJames