Maison >interface Web >js tutoriel >Résumé de toutes les méthodes de parcours de boucle dans JS

Résumé de toutes les méthodes de parcours de boucle dans JS

php中世界最好的语言
php中世界最好的语言original
2018-06-01 09:43:142482parcourir

Cette fois, je vais vous apporter un résumé de toutes les méthodes de parcours de boucle en JS. Quelles sont les précautions pour le résumé du parcours de boucle en JS. Voici des cas pratiques, jetons un coup d'œil.

1. boucle for

let arr = [1,2,3];
for (let i=0; i<arr.length; i++){
 console.log(i,arr[i])
}
// 0 1
// 1 2
// 2 3

La boucle for est l'outil de boucle le plus couramment utilisé en Js, et est souvent utilisée pour la boucle. parcours de tableaux .

2. for in loop

let obj = {name:&#39;zhou&#39;,age:&#39;**&#39;}
for(let i in obj){
 console.log(i,obj[i])
}
// name zhou
// age **

for in loop est principalement utilisé pour parcourir des objets ordinaires, i représente la valeur clé du objet, obj [i] représente la valeur correspondante Lorsque vous l'utilisez pour parcourir le tableau , le même effet peut être obtenu dans la plupart des cas, mais vous ne devriez pas le faire car c'est risqué car i est affiché comme. une forme de chaîne, plutôt que l'indice numérique requis par le tableau, ce qui signifie que dans certains cas, des opérations sur les chaînes se produiront, entraînant des erreurs de données, telles que : '52'+1 = '521' au lieu des 53 dont nous avons besoin. .

De plus, lorsque la boucle for in parcourt non seulement ses propres propriétés, elle trouvera également le prototype, il est donc préférable d'ajouter un jugement dans le corps de la boucle, utilisez simplement obj[i].hasOwnProperty( i), afin d'éviter que trop d'attributs inutiles ne soient traversés.

3. Boucle While

Parcourez de la même manière le tableau des voitures, utilisez d'abord la méthode de boucle for

let cars=["BMW","Volvo","Saab","Ford"];
let i=0;
for (;cars[i];)
{
console.log(cars[i])
i++;
};
// BMW
// Volvo
// Saab
// Ford

et puis les méthodes de boucle While

cars=["BMW","Volvo","Saab","Ford"];
var i=0;
while (cars[i])
{
console.log(cars[i] + "<br>")
i++;
};

nous avons constaté qu'elles peuvent obtenir le même effet. En fait, leur traitement sous-jacent est le même, mais la boucle for peut combiner définition, jugement conditionnel , et auto-incrémentation Mettre l'opération de décrémentation dans une condition rend le code plus pratique, c'est tout.

4. boucle do while

let i = 3;
do{
 console.log(i)
 i--;
}
while(i>0)
// 3
// 2
// 1

La boucle do while est une variante de la boucle while Elle effectue d'abord une opération et. Alors seulement, effectuez un jugement conditionnel. Si c'est vrai, continuez à effectuer l'opération. Si c'est faux, la boucle se termine.

5. Boucle Array forEach

let arr = [1,2,3];
arr.forEach(function(i,index){
 console.log(i,index)
})
// 1 0
// 2 1
// 3 2

boucle forEach, parcourt chaque élément du tableau et effectue des actions. valeur. Oui. Il n'est pas nécessaire de connaître la longueur du tableau. Il comporte trois paramètres. Seul le premier est requis et représente la valeur sous l'indice actuel.

Veuillez également noter que la boucle forEach ne peut pas être arrêtée avant que tous les éléments ne soient appelés. Elle n'a pas d'instruction break. Si vous devez vous arrêter, vous pouvez essayer une instruction try catch, qui doit être lancée lorsque vous le faites. souhaitez forcer une sortie. Une erreur est interceptée par catch, puis renvoyée dans catch, afin que la boucle puisse être terminée. Si vous utilisez souvent cette méthode, il est préférable de personnaliser une telle fonction forEach dans votre bibliothèque.

6. Méthode Array map()

let arr = [1,2,3];
let tt = arr.map(function(i){
 console.log(i)
 return i*2;
})
// [2,4,6]

La méthode map() renvoie un nouveau tableau et les éléments du tableau sont le tableau d'origine La valeur de l'élément après avoir appelé la fonction.
Remarque : les méthodes map et forEach ne peuvent être utilisées que pour parcourir des tableaux, pas des objets ordinaires.

7. Méthode Array filter()

let arr = [1,2,3];
let tt = arr.filter(function(i){
 return i>1;
})
// [2,3]

La méthode filter est une méthode intégrée de l'objet Array, qui renvoie éléments filtrés. Le tableau d’origine n’est pas modifié.

8. Méthode Array some()

let arr = [1,2,3];
let tt = arr.some(function(i){
 return i>1;
})
// true

La méthode some() est utilisée pour détecter si les éléments du tableau répondent aux conditions spécifiées (fonction fournie), renvoie une valeur booléenne et ne modifie pas le tableau d'origine.

9. Méthode Array Every()

let arr = [1,2,3];
let tt = arr.some(function(i){
 return i>1;
})
// 检测数组中元素是否都大于1
// false

La méthode Every() est utilisée pour détecter si tous les éléments du tableau répondent aux conditions spécifiées (fournies par une fonction), renvoie une valeur booléenne et ne modifie pas le tableau d'origine.

10. Méthode Array réduire()

let arr = [1,2,3];
let ad = arr.reduce(function(i,j){
 return i+j;
})
// 6

La méthode réduire() reçoit une fonction comme accumulateur, chaque élément du Les valeurs du tableau commencent à diminuer (de gauche à droite), pour finalement compter jusqu'à une valeur.

11. La méthode Array ReductionRight()

let arr = [1,2,3];
let ad = arr.reduceRight(function(i,j){
 return i+j;
})
// 6

La méthode ReduceRight() a la même fonction que la méthode Reduction(), c'est Counting. en avant depuis la fin du tableau.

12. pour la boucle

let arr = ['name','age'];
for(let i of arr){
 console.log(i)
}
// name
// age

for of 循环是 Es6 中新增的语句,用来替代 for in 和 forEach,它允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代(Iterable data)的数据结构,注意它的兼容性。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

JS反射与依赖注入使用案例分析

如何使用js统计页面标签数量

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!

Déclaration:
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