Heim > Artikel > Web-Frontend > JS-Array-Lernen, um festzustellen, ob Array-Elemente bestimmte Bedingungen erfüllen
Im vorherigen Artikel „JS-Array-Lernen: Array durchqueren und Elementwerte verdoppeln“ haben wir die Methode zum Durchlaufen des Arrays und zum Verarbeiten jedes Elements im Array vorgestellt. Dieses Mal werden wir weiter über das Durchlaufen von Arrays sprechen und verschiedene Methoden vorstellen, um festzustellen, ob alle Array-Elemente die angegebenen Bedingungen erfüllen. Freunde in Not können mehr darüber erfahren~
Wie kann man also feststellen, ob die Elemente im Array die angegebenen Bedingungen erfüllen? Durchlaufen Sie beispielsweise ein Array und prüfen Sie, ob alle Elemente im Array gerade Zahlen sind.
Im Folgenden stellen wir drei Methoden vor, beginnend mit der bekannten for-Schleife und stellen dann zwei integrierte Funktionen vor – sehen Sie, wie Sie sie zur Erkennung verwenden.
Methode 1: For-Schleife verwenden
Implementierungsidee:
For-Anweisung zum Durchlaufen des Arrays verwenden
for(var i=0;i<a.length;i++){ }
Überprüfen Sie, ob alle Elemente im Array gerade Zahlen sind und umgekehrt: so lange Da eine keine gerade Zahl ist, können wir daraus schließen, dass „nicht alle gerade Zahlen sind“.
Der Implementierungscode kann also wie folgt geschrieben werden:
var a = [2,4,5,6,8],b=0; for(var i=0;i<a.length;i++){ if (a[i] % 2 != 0) { b=0 break; }else{ b++; } } if (b) { console.log("都是偶数"); } else { console.log("不全为偶数"); }
Analysecode:
Wir verwenden eine Zwischenvariable b
, um einen Wert von 0 zuzuweisen. Wenn das Array-Element ist eine gerade Zahl, b erhöht sich automatisch um 1; wenn ein Array-Element keine gerade Zahl ist, wird der Wert von b wieder 0 und „break;“ wird verwendet, um die Schleife zu verlassen. b
赋值为0,如果数组元素为偶数,b就自增1;当有一个数组元素不是偶数,b的值就又重新变为0,且使用“break;”退出循环。
此时我们判断变量b的值就能知道数组中元素是否都为偶数:如果b>0
则都是偶数;如果b=0
则不全为偶数。
因为数组中元素5不是偶数,因此输出结果为:
方法2:利用some()方法
some()方法可以检测数组中是否存在符合条件的元素。换个角度思考,也可以用来检测数组中的所有元素是否都不符合指定条件,都不符合的话就返回 false,有一个或者多个符合的话就返回 true。(和上文代码是一个思路)
array.some(function callbackfn(Value,index,array),thisValue)
function callbackfn(value,index,array)
b>0
, sind sie alle gerade Zahlen; b=0 Dann sind es nicht alle gerade Zahlen.
Da Element 5 im Array keine gerade Zahl ist, lautet das Ausgabeergebnis:
function f(value, index, ar) { if (value % 2 != 0) { return true; } } var a = [2,4,6,8,10,12]; var b = a.some(f); if (b) { console.log("不全为偶数"); } else { console.log("都是偶数"); }
function callbackfn(value,index,array)
: eine Rückruffunktion, die nicht weggelassen werden kann und bis zu drei Parameter akzeptieren kann:
Wert: aktuell Der Wert des Array-Elements kann nicht weggelassen werden.
index: Der numerische Index des aktuellen Array-Elements.array: das Array-Objekt, zu dem das aktuelle Element gehört. Werfen wir einen Blick auf den Implementierungscode:
array.every(function callbackfn(Value,index,array),thisValue)Da die Elemente im Array alle gerade Zahlen sind, ist das Ausgabeergebnis wie folgt:
Wir ändern das Array-Element 12 in 11 , und das Ausgabeergebnis ist:
🎜Methode 3: Verwenden Sie die every()-Methode 🎜🎜🎜every()-Methode kann erkennen, ob alle Array-Elemente die angegebenen Bedingungen erfüllen. Die Syntax lautet wie folgt. Informationen zu Parameterwerten finden Sie in der obigen Methode some()🎜function f(value, index, ar) { if (value % 2 == 0) { return true; }else { return false; } } var a = [2,4,6,8,10,11]; var b = a.every(f); if (b) { console.log("都是偶数"); } else { console.log("不全为偶数"); }🎜Werfen wir einen Blick auf den Implementierungscode:🎜
不全为偶数🎜Das Ausgabeergebnis lautet:🎜rrreee🎜🎜Der Unterschied zwischen every() und some()-Methoden:🎜🎜🎜 Every() gibt nur dann true zurück, wenn alle Elemente im Array die Bedingung erfüllen; some() gibt true zurück, solange ein Element im Array die Bedingung erfüllt. 🎜🎜Okay, das ist alles. Wenn Sie es brauchen, können Sie sich Folgendes ansehen: 🎜Javascript-Video-Tutorial🎜🎜
Das obige ist der detaillierte Inhalt vonJS-Array-Lernen, um festzustellen, ob Array-Elemente bestimmte Bedingungen erfüllen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!