【发布时间】:2020-07-18 07:34:54
【问题描述】:
我想知道如何在 javascript 中将对象属性字符串转换为整数。
我有一个obj,如果有属性值是数字字符串转换为javascript中的数字
var obj={
ob1: {id: "21", width:"100",height:"100", name: "image1"},
ob2: {id: "22", width:"300",height:"200", name: "image2"}
}
function convertIntObj (obj){
Object.keys(obj).map(function(k) {
if(parseInt(obj[k])===NaN){
return obj[k]
}
else{
return parseInt(obj[k]);
}
});
}
var result = convertIntObj(obj);
console.log(result)
预期输出:
[
{id: 21, width:100,height:100, name: "image1"},
{id: 22, width:300,height:200, name: "image2"}
]
【问题讨论】:
-
你在
convertIntObj中没有return,所以函数调用的值隐式为undefined -
... 和
NaN不等于任何东西,甚至不等于它自己。另外,您需要单独映射obj的属性,目前您正在解析obj中的对象,而不是它们的属性。
标签: javascript arrays object javascript-objects