遞歸遍歷JS的對象的每個屬性

遞歸遍歷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>


結果如下


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章