Maison > interface Web > js tutoriel > le corps du texte

Tableau JS apprenant pour déterminer si les éléments du tableau répondent à des conditions données

青灯夜游
Libérer: 2021-08-26 17:24:51
original
6188 Les gens l'ont consulté

Dans l'article précédent "Apprentissage du tableau JS : parcourir le tableau et doubler les valeurs des éléments", nous avons présenté la méthode de parcours du tableau et de traitement de chaque élément du tableau. Cette fois, nous continuerons à parler du parcours de tableau et à présenter plusieurs méthodes pour détecter si tous les éléments du tableau remplissent les conditions spécifiées. Les amis dans le besoin peuvent en apprendre davantage ~

Alors, comment déterminer si les éléments du tableau remplissent les conditions spécifiées ? Par exemple, parcourez un tableau et vérifiez si tous les éléments du tableau sont des nombres pairs. Comment faire ?

Présentons 3 méthodes ci-dessous, en commençant par la boucle for familière, puis en introduisant 2 fonctions intégrées - voyons comment les utiliser pour détecter.

Méthode 1 : Utiliser la boucle for

Idée d'implémentation :

  • Utiliser l'instruction for pour parcourir le tableau

for(var i=0;i<a.length;i++){
}
Copier après la connexion
  • Vérifiez si tous les éléments du tableau sont des nombres pairs, et inversement : tant que comme un n'est pas un nombre pair, nous pouvons alors conclure que "tous ne sont pas des nombres pairs".

Le code d'implémentation peut donc s'écrire ainsi :

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("不全为偶数");
}
Copier après la connexion

Code d'analyse :

  • Nous utilisons une variable intermédiaire b pour attribuer une valeur de 0. Si l'élément du tableau est un nombre pair, b augmentera automatiquement 1 ; lorsqu'un élément du tableau n'est pas un nombre pair, la valeur de b redevient 0 et "break;" est utilisé pour quitter la boucle. b赋值为0,如果数组元素为偶数,b就自增1;当有一个数组元素不是偶数,b的值就又重新变为0,且使用“break;”退出循环。

  • 此时我们判断变量b的值就能知道数组中元素是否都为偶数:如果b>0则都是偶数;如果b=0则不全为偶数。

因为数组中元素5不是偶数,因此输出结果为:

Tableau JS apprenant pour déterminer si les éléments du tableau répondent à des conditions données

方法2:利用some()方法

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

array.some(function callbackfn(Value,index,array),thisValue)
Copier après la connexion

function callbackfn(value,index,array)

  • À ce stade, nous pouvons savoir si les éléments du tableau sont des nombres pairs en jugeant la valeur de la variable b : si b>0, ce sont tous des nombres pairs si  ; b=0 Alors ce ne sont pas tous des nombres pairs.

  • Comme l'élément 5 du tableau n'est pas un nombre pair, le résultat de sortie est :

  • Tableau JS apprenant pour déterminer si les éléments du tableau répondent à des conditions données

  • Méthode 2 : Utilisez la méthode some()

some() pour détecter s'il existe des éléments qui remplissent les conditions dans le tableau. En y réfléchissant sous un autre angle, il peut également être utilisé pour détecter si tous les éléments du tableau ne remplissent pas les conditions spécifiées, il renverra false. Si un ou plusieurs éléments correspondent, il le fera. renvoie vrai. (La même idée que le code ci-dessus)

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("都是偶数");
}
Copier après la connexion

function callbackfn(value,index,array) : une fonction de rappel, qui ne peut être omise, et peut accepter jusqu'à trois paramètres :

Tableau JS apprenant pour déterminer si les éléments du tableau répondent à des conditions données

value: current La valeur de l'élément du tableau ne peut pas être omise.

Tableau JS apprenant pour déterminer si les éléments du tableau répondent à des conditions données

index : L'index numérique de l'élément actuel du tableau.

array : l'objet tableau auquel appartient l'élément actuel.

Jetons un coup d'œil au code d'implémentation :

array.every(function callbackfn(Value,index,array),thisValue)
Copier après la connexion

On peut voir que parce que les éléments du tableau sont tous des nombres pairs, le résultat de sortie est :

Nous changeons l'élément du tableau 12 en 11 , et le résultat de sortie est :

🎜Méthode 3 : utilisez la méthode Every() 🎜🎜🎜La méthode Every() peut détecter si tous les éléments du tableau répondent aux conditions spécifiées. La syntaxe est la suivante. Pour les valeurs des paramètres, veuillez vous référer à la méthode some() ci-dessus🎜
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("不全为偶数");
}
Copier après la connexion
🎜Jetons un coup d'œil au code d'implémentation :🎜
不全为偶数
Copier après la connexion
🎜Le résultat de sortie est :🎜rrreee🎜🎜La différence entre each() et Méthodes some() :🎜🎜🎜 Every() renvoie true uniquement lorsque tous les éléments du tableau remplissent la condition ; some() renvoie true tant qu'un élément du tableau remplit la condition. 🎜🎜D'accord, c'est tout. Si vous en avez besoin, vous pouvez regarder : 🎜tutoriel vidéo javascript🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!