Baseline Widely available
Die every()
-Methode von Array
Instanzen prüft, ob alle Elemente im Array den Test bestehen, der von der bereitgestellten Funktion implementiert wird. Sie gibt einen Boolean-Wert zurück.
const isBelowThreshold = (currentValue) => currentValue < 40;
const array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));
// Expected output: true
Syntax
every(callbackFn)
every(callbackFn, thisArg)
Parameter
callbackFn
Eine Funktion, die für jedes Element im Array ausgeführt wird. Sie sollte einen truthy Wert zurückgeben, um anzuzeigen, dass das Element den Test besteht, und einen falsy Wert, wenn nicht. Die Funktion wird mit den folgenden Argumenten aufgerufen:
element
Das derzeit im Array verarbeitete Element.
index
Der Index des derzeit verarbeiteten Elements im Array.
array
Das Array, auf dem every()
aufgerufen wurde.
thisArg
Optional
Ein Wert, der als this
verwendet wird, wenn callbackFn
ausgeführt wird. Siehe iterative Methoden.
true
, es sei denn, callbackFn
gibt für ein Array-Element einen falsy Wert zurück, in welchem Fall sofort false
zurückgegeben wird.
Die every()
-Methode ist eine iterative Methode. Sie ruft die bereitgestellte callbackFn
-Funktion für jedes Element in einem Array einmal auf, bis callbackFn
einen falsy Wert zurückgibt. Wird ein solches Element gefunden, gibt every()
sofort false
zurück und stoppt die Iteration durch das Array. Andernfalls, wenn callbackFn
für alle Elemente einen truthy Wert zurückgibt, gibt every()
true
zurück. Lesen Sie den Abschnitt über iterative Methoden für mehr Informationen darüber, wie diese Methoden im Allgemeinen funktionieren.
every
agiert wie der "für alle"-Quantor in der Mathematik. Insbesondere für ein leeres Array gibt es true
zurück. (Es ist trivialerweise wahr, dass alle Elemente der leeren Menge jede beliebige Bedingung erfüllen.)
callbackFn
wird nur für Array-Indizes aufgerufen, denen Werte zugewiesen wurden. Es wird nicht für leere Stellen in lückenhaften Arrays aufgerufen.
Die every()
-Methode ist generisch. Sie erwartet nur, dass der this
-Wert über eine length
-Eigenschaft und ganzzahlig indizierte Eigenschaften verfügt.
Das folgende Beispiel prüft, ob alle Elemente im Array gröÃer oder gleich 10 sind.
function isBigEnough(element, index, array) {
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough); // false
[12, 54, 18, 130, 44].every(isBigEnough); // true
Ãberprüfen, ob ein Array ein Teilmengen eines anderen Arrays ist
Das folgende Beispiel prüft, ob alle Elemente eines Arrays in einem anderen Array vorhanden sind.
const isSubset = (array1, array2) =>
array2.every((element) => array1.includes(element));
console.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 7, 6])); // true
console.log(isSubset([1, 2, 3, 4, 5, 6, 7], [5, 8, 7])); // false
Verwenden des dritten Arguments von callbackFn
Das array
-Argument ist nützlich, wenn Sie auf ein anderes Element im Array zugreifen möchten. Das folgende Beispiel verwendet zuerst filter()
, um die positiven Werte zu extrahieren, und dann every()
, um zu überprüfen, ob das Array strikt ansteigend ist.
const numbers = [-2, 4, -8, 16, -32];
const isIncreasing = numbers
.filter((num) => num > 0)
.every((num, idx, arr) => {
// Without the arr argument, there's no way to easily access the
// intermediate array without saving it to a variable.
if (idx === 0) return true;
return num > arr[idx - 1];
});
console.log(isIncreasing); // true
Verwenden von every() auf lückenhaften Arrays
every()
wird sein Prädikat nicht auf leere Stellen ausführen.
console.log([1, , 3].every((x) => x !== undefined)); // true
console.log([2, , 2].every((x) => x === 2)); // true
Aufrufen von every() auf Nicht-Array-Objekten
Die every()
-Methode liest die length
-Eigenschaft von this
und greift dann auf jede Eigenschaft mit einem nicht-negativen ganzzahligen Schlüssel kleiner als length
zu, bis alle aufgerufen wurden oder callbackFn
false
zurückgibt.
const arrayLike = {
length: 3,
0: "a",
1: "b",
2: "c",
3: 345, // ignored by every() since length is 3
};
console.log(
Array.prototype.every.call(arrayLike, (x) => typeof x === "string"),
); // true
Spezifikationen Browser-Kompatibilität Siehe auch
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4