js的數(shù)組或者對象的遞歸遍歷問題
例如给定一个数组,他里面可能嵌套数组,嵌套的数组里面可能还有数组。
这种想得到所有元素组成一个数组,可以考虑用 递归遍历数组
递归遍历数组
例如[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] );
}
}
點擊查看更多內(nèi)容
5人點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦