Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung des Unterschieds zwischen der JS-Durchquerung von Arrays und Objekten und den Methoden zur rekursiven Durchquerung von Objekten, Arrays und Eigenschaften

Detaillierte Erläuterung des Unterschieds zwischen der JS-Durchquerung von Arrays und Objekten und den Methoden zur rekursiven Durchquerung von Objekten, Arrays und Eigenschaften

高洛峰
高洛峰Original
2017-01-14 11:09:212978Durchsuche

Kein Unsinn mehr, kommen wir direkt zum Thema, Sie, der spezifische Code lautet wie folgt:

<script>
 //----------------for用来遍历数组对象--
 var i,myArr = [1,2,3];
 for (var i = 0; i < myArr.length; i++) {
  console.log(i+":"+myArr[i]);
 };
 //---------for-in 用来遍历非数组对象
 var man ={hands:2,legs:2,heads:1};
 //为所有的对象添加clone方法,即给内置原型(object,Array,function)增加原型属性,该方法很强大,也很危险
 if(typeof Object.prototype.clone ==="undefined"){
  Object.prototype.clone = function(){}; 
 }
 //
 for(var i in man){
  if (man.hasOwnProperty(i)) { //filter,只输出man的私有属性
   console.log(i,":",man[i]);
  };
 }
 //输出结果为print hands:2,legs:2,heads:1
 for(var i in man) {//不使用过滤
  console.log(i,":",man[i]);
 } 
 //输出结果为
 //hands : 2 index.html:20
 //legs : 2 index.html:20
 //heads : 1 index.html:20
 //clone : function (){} 
 for(var i in man) {
  if(Object.prototype.hasOwnProperty.call(man,i)) { //过滤
   console.log(i,":",man[i]);
  }
 } //输出结果为print hands:2,legs:2,heads:1 </script>

Als nächstes werde ich Ihnen das rekursive Durchlaufen von Objekten, Arrays und Attributen in js vorstellen

Bei der Arbeit am Frontend müssen wir manchmal einige unbekannte Objekttypen durchlaufen. Der Code lautet wie folgt:

//js Traversal Object
function TraversalObject(obj)
{
for (var a in obj) {
if (typeof (obj[a ]) = = "Objekt") {
                                                                                                                                                     using using using using using using using using out out out out using using off off ’ ’ ’ ‐ to traverse ‐ traversal Object(obj[a]--- Nur anzeigen
}
}
}

//Durchlaufe die Werte aller Ur im Objekt
Funktion TraversalObject(obj)

{

für (var a in obj ) {

if(a=="Url") Alert(obj[a]);//Zeige den Wert der URL an
if (typeof (obj[a]) == " object") {

TraversalObject(obj[a]); //Rekursive Durchquerung

}
}
}

Diese Durchquerungsmethode ist sehr nützlich, wenn das Objekt unregelmäßig ist, aber benötigt wird um die gleichen Eigenschaften zu erzielen.

Ausführlichere Erläuterungen zu den Unterschieden zwischen JS beim Durchlaufen von Arrays und Objekten sowie Methoden zum rekursiven Durchlaufen von Objekten, Arrays und Eigenschaften finden Sie auf der chinesischen PHP-Website für verwandte Artikel!

Stellungnahme:
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