直接代碼展示清晰直觀
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])
,意思就是將按要求轉換好的數據複製給原來的數據本身。希望這個思路可以幫助到更多人,謝謝~