Maison  >  Article  >  interface Web  >  L'utilisation de boucles for-in et de boucles for pour parcourir des tableaux

L'utilisation de boucles for-in et de boucles for pour parcourir des tableaux

一个新手
一个新手original
2017-09-26 09:32:253999parcourir

Quand j'écrivais du code aujourd'hui, lorsque j'ai utilisé une boucle for-in pour parcourir le tableau, des choses inexplicables sont apparues plus tard. Ce n’est qu’à ce moment-là que j’ai connu la différence entre une boucle for-in et une boucle for.
La boucle for -in est une itération. Elle parcourt tous les attributs et méthodes de l'objet actuel. Elle filtrera les attributs et méthodes initialement écrits par le système. Pendant le for-in, ces propriétés et méthodes que nous avons ajoutées seront parcourues.
Par exemple : j'ai ajouté une méthode au tableau en js

//Array中的prototype方法就是给所有的数组都添加了一个新定义的方法名字为unique
 Array.prototype.unique = function(){
        alert("unique");
    }    var arr = [0,1,2];

Ensuite, lorsque le code ci-dessus sera exécuté, cette méthode sera ajoutée à tous les tableaux. Ainsi, lors de l'utilisation de la boucle for-in, cette fonction sera également parcourue.

for(var i in arr){
    concole.log(arr[i]);
}

Le résultat de l'impression à ce moment est
Lutilisation de boucles for-in et de boucles for pour parcourir des tableaux
Si vous ne souhaitez pas parcourir vos propres méthodes définies, le système fournit une méthode pour déterminer si l'attribut actuel est ajouté ultérieurement à la place de celui d'origine du système : array.hasOwnProperty(i)
Si le code ci-dessus ne souhaite pas imprimer une méthode personnalisée, vous pouvez alors juger cette chose

for(var i in arr){        
    if(!arr.hasOwnProperty(i)){            
    continue;
        }            
        console.log(arr[i]);
    }

Utilisez cette méthode pour juger si i est un attribut nouvellement ajouté ou une méthode nouvellement ajoutée plus tard. un, puis sautez. Ensuite, passez à l'étape suivante.


Bien sûr, s'il s'agit d'un tableau, il vaut mieux ne pas utiliser de boucle for - in pour le parcourir. Il est préférable d'utiliser une boucle for pour l'écrire, afin d'éviter des erreurs inutiles. problème

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
Article précédent:Scripter HTTP avec AjaxArticle suivant:Scripter HTTP avec Ajax