Frage:Prüfen, ob Schlüsselwerte falsch sind in einem Objekt
Ich bin für eine einfache Lösung, um zu überprüfen, ob jeden Schlüsselwert false
in einem Objekt ist.
Ich habe ein Objekt mit mehreren eindeutigen Schlüsseln sie jedoch nur Boolesche Werte enthalten (true
oder false
)
var ob = { stack: true,
overflow: true,
website: true
};
Ich weiß, dass ich die Anzahl der Schlüssel in einem Objekt zu bekommen, mit der folgenden Zeile :
Object.keys(ob).length // returns 3
gibt es ein in Einbau zu überprüfen, ob eine beliebige Taste Wert durch jeden Schlüssel in einer Schleife, ohne dass in dem Objekt falsch ist?
Lösung:
Um zu überprüfen, ob jede Tasten - Array.prototype.some()
verwenden.
// to check any keys are false
Object.keys(ob).some(k => !ob[k]); // returns false
Um zu überprüfen, ob alle Tasten - Array.prototype.every()
verwenden.
// to check if all keys are false
Object.keys(ob).every(k => !ob[k]); // returns false
Kurze Antwort Nein, Sie Schleife haben, und Looping nicht wesentlich Last zu Ihrer Seite hinzufügen, so dass ich nicht sehen, warum Sie es nicht –
verwenden können "Ohne Schleife durch jeden Schlüssel im Objekt" vielleicht, aber es ist schwieriger .... – Feathercrown
Denken Sie über Dinge wie 'Array.map()' "Schleifen" nach? – BadZen