Hallo Karl,
Die filter Methode kopiert Dir die Array-Elemente in ein neues Array, die eine bestimmte Bedingung erfüllen.
let trueArray = array.filter(el => el === true)
erzeugt also ein Array, dessen Elemente allesamt true sind. Du könntest nun mit trueArray.length > 0 testen, ob mindestens ein true vorhanden war, und mit trueArray.length == array.length, ob alle Elementr true waren. Aber das ist unnötig kompliziert.
Zunächst ein Zwischenschrit. Die Pfeilfunktion el => el === true
kann man auf el => el
verkürzen, sofern sichergestellt ist, dass das durchlaufene Array ausschließlich Booleans enthält.
Feststellen, ob mindestens ein Wert im Array true ist, gelingt mit der Some-Methode so: array.some(el => el)
. Und die Prüfung, ob alle Werte true sind, geht mit array.every(el => el)
.
Du hast aber schon festgestellt, dass es für den Fall eines booleschen Arrays noch einfacher geht.
array.includes(true)
ermittelt, ob mindestens ein true darin ist
!array.includes(false)
(beachte das ! zu Beginn) stellt fest, ob alle Werte true sind.
Rolf
sumpsi - posui - obstruxi