Heim > Web-Frontend > js-Tutorial > JS-Array-Lernen, um festzustellen, ob Array-Elemente bestimmte Bedingungen erfüllen

JS-Array-Lernen, um festzustellen, ob Array-Elemente bestimmte Bedingungen erfüllen

青灯夜游
Freigeben: 2021-08-26 17:24:51
Original
6258 Leute haben es durchsucht

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++){
}
Nach dem Login kopieren
  • Ü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("不全为偶数");
}
Nach dem Login kopieren

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不是偶数,因此输出结果为:

JS-Array-Lernen, um festzustellen, ob Array-Elemente bestimmte Bedingungen erfüllen

方法2:利用some()方法

some()方法可以检测数组中是否存在符合条件的元素。换个角度思考,也可以用来检测数组中的所有元素是否都不符合指定条件,都不符合的话就返回 false,有一个或者多个符合的话就返回 true。(和上文代码是一个思路)

array.some(function callbackfn(Value,index,array),thisValue)
Nach dem Login kopieren

function callbackfn(value,index,array)

  • Zu diesem Zeitpunkt können wir feststellen, ob die Elemente im Array gerade Zahlen sind, indem wir den Wert der Variablen b beurteilen: Wenn 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:

  • JS-Array-Lernen, um festzustellen, ob Array-Elemente bestimmte Bedingungen erfüllen

  • Methode 2: Verwenden Sie die Methode some()

some(), um zu erkennen, ob Elemente vorhanden sind, die die Bedingungen in erfüllen das Array. Aus einem anderen Blickwinkel betrachtet kann es auch verwendet werden, um zu erkennen, ob alle Elemente im Array die angegebenen Bedingungen nicht erfüllen. Wenn ein oder mehrere Elemente übereinstimmen, wird dies zurückgegeben Rückkehr wahr. (Die gleiche Idee wie der obige Code)

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("都是偶数");
}
Nach dem Login kopieren

function callbackfn(value,index,array): eine Rückruffunktion, die nicht weggelassen werden kann und bis zu drei Parameter akzeptieren kann:

JS-Array-Lernen, um festzustellen, ob Array-Elemente bestimmte Bedingungen erfüllen

Wert: aktuell Der Wert des Array-Elements kann nicht weggelassen werden.

JS-Array-Lernen, um festzustellen, ob Array-Elemente bestimmte Bedingungen erfüllen

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)
Nach dem Login kopieren

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("不全为偶数");
}
Nach dem Login kopieren
🎜Werfen wir einen Blick auf den Implementierungscode:🎜
不全为偶数
Nach dem Login kopieren
🎜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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage