您的位置:首页 > Web前端 > JavaScript

递归遍历JS的对象的每个属性

2015-11-21 15:57 531 查看

递归遍历JS的对象的每个属性

1)使用constructor

<span style="font-size:14px;">var model = {
fullName: {
firstName: 'paradise',
lastName: 'fang'
},
age: 25,
sex: 'female',
array : [1,2,3]
};
buildModel(model);

function buildModel(model) {
for (var i in model) {
if (model[i] != null) {
if (model[i].constructor == Object) {
buildModel(model[i]);
} else {
console.log(i + "\t" + model[i]);
}
}
}
}</span>

结果如下图:

这里使用了constructor,而不是typeof

constructor判断对象的类型,会比typeof更精确,constructor能获取一些复杂对象的类型,typeof做不到。

http://jingyan.baidu.com/article/a681b0de331a733b18434628.html



2)使用typeof

<span style="font-size:14px;">var model = {
fullName: {
firstName: 'paradise',
lastName: 'fang'
},
age: 25,
sex: 'female',
array : [1,2,3]
};
buildModel(model);

function buildModel(model) {
for (var i in model) {
if (model[i] != null) {
if (typeof model[i] == "object") {
buildModel(model[i]);
} else {
console.log(i + "\t" + model[i]);
}
}
}
}</span>


结果如下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: