Home > Article > Web Front-end > Detailed explanation of the difference between JS traversal of arrays and objects and methods of recursively traversing objects, arrays, and properties
No more nonsense, let’s go straight to the topic, you, the specific code is as follows:
<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>
Next, I will introduce to you js recursive traversal of objects, arrays, and properties
Working on the front end Sometimes we need to traverse some unknown types of objects. The code is as follows:
//js traversal object
function TraversalObject(obj)
{
for (var a in obj) {
if (typeof (obj[a]) = = "object") {
TraversalObject(obj[a]); // Recursive traversal
}
using using using using ’ ‐ ‐ ‐ ‐ ‐ ‐ ‐ traversalObject(obj[a]); //Recursive traversal Just display
}
}
}
function TraversalObject(obj)
{
for (var a in obj ) {
if (typeof (obj[a]) == "object") {
TraversalObject(obj[a]); // Recursive traversal
Good effect.
For more detailed explanations of the differences between JS traversing arrays and objects and methods of recursively traversing objects, arrays, and properties, please pay attention to the PHP Chinese website for related articles!