JS將object的屬性值更改數據類型

直接代碼展示清晰直觀

1.將對象的數字值轉換爲字符串

    // 1.將對象的數字值轉爲字符串
    function toStringValue(obj) {
        if (obj instanceof Array) {
            var arr = [];
            for (var i = 0; i < obj.length; i++) {
                arr[i] = toStringValue(obj[i]);
            }
            return arr;
        } else if (typeof obj == 'object') {
            for (var p in obj) {
                obj[p] = toStringValue(obj[p]);
            }
        } else if (typeof obj == 'number') {
            obj = obj + '';
        }
        return obj;
    }

    //調用
    console.log(toStringValue([{id:123,name:'zhangsan',pId:213},{id:234,children:[{id:435,name:23554},{id:2345}]}]))

2. 將對象的字符串值轉換成數字類型

    //將對象的字符串值轉爲數字類型
    function toNumberValue(obj) {
        if (obj instanceof Array) {
            var arr = [];
            for (var i = 0; i < obj.length; i++) {
                arr[i] = Number(obj[i]);
            }
            return arr;
        } else if (typeof obj == 'object') {
            for (var p in obj) {
                obj[p] = Number(obj[p]);
            }
        } else if (typeof obj == 'string') {
            obj = Number(obj);
        }
        return obj;
    }

    //調用
    console.log(toNumberValue([{black:'123',green:'56',pId:'213'},{id:'234',children:[{id:'435',red:'23554'},{id:'2345'}]}]))

3.總結

有上面兩個demo我們就可以看得出來,其實引用數據類型的數據轉換的關鍵就在於arr[i] = Number(obj[i])或者obj[p] = Number(obj[p]),意思就是將按要求轉換好的數據複製給原來的數據本身。希望這個思路可以幫助到更多人,謝謝~

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