例如给定一个数组,他里面可能嵌套数组,嵌套的数组里面可能还有数组。
这种想得到所有元素组成一个数组,可以考虑用 递归遍历数组
递归遍历数组
例如[2,[6,7,12,34,3],[5,23,[1]]]
var arrs = [2 , [6,7,12,34,3] , [ 5,23,[1],9] ] ;
var arr = [];
function recursive(arrs) {
for(var i = 0; i < arrs.length; i++){
if(typeof arrs[i] === "number" ) {
arr.push( arrs[i] );
}else{
recursive( arrs[i] );
}
}
}
recursive(arrs);
console.log(arr);
递归遍历对象
var obj = {
a:{
name : "maoguotao",
age : 18,
sex : 'M',
},
b:{
name : "maoshuqin",
age : 18,
sex : 'M',
},
c:{
name : "MGT360124",
age : 18,
sex : 'M',
title : {
job:"班长"
}
}
};
var arr = [];
function f( obj ) {
for( var i in obj ) {
if ( typeof obj[i] === "object" ) {
f ( obj[i] );
}else{
arr.push( obj[i] );
}
}
}
f( obj );
console.log(arr);
遍历对象的属性用for-in,但是要用hasOwnProperty判断
var obj = {
name:"maoguotao",
age:18,
sex:'M'
}
for ( var i in obj ) {
if( obj.hasOwnProperty ( i ) ){
console.log( i + ":" + obj[i] );
}
}