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
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") {
}
}
}
Diese Durchquerungsmethode ist sehr nützlich, wenn das Objekt unregelmäßig ist, aber benötigt wird um die gleichen Eigenschaften zu erzielen.