直接代码展示清晰直观
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]),意思就是将按要求转换好的数据复制给原来的数据本身。希望这个思路可以帮助到更多人,谢谢~
401



被折叠的 条评论
为什么被折叠?



