How to convert object properties string to integer in javascript

miy*_*avv 5 javascript arrays object javascript-objects

I would like to know how to convert object properties string to integer in javascript. I have a obj, which if has property value is number string convert to number in 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)
Run Code Online (Sandbox Code Playgroud)

Expected Output:

[
  {id: 21, width:100,height:100, name: "image1"},
  {id: 22, width:300,height:200, name: "image2"}
]
Run Code Online (Sandbox Code Playgroud)

Bor*_*s K 6

这应该做的工作:

var obj = {
  ob1: {
    id: "21",
    width: "100",
    height: "100",
    name: "image1"
  },
  ob2: {
    id: "22",
    width: "300",
    height: "200",
    name: "image2"
  }
}


function convertIntObj(obj) {
  const res = {}
  for (const key in obj) {
    res[key] = {};
    for (const prop in obj[key]) {
      const parsed = parseInt(obj[key][prop], 10);
      res[key][prop] = isNaN(parsed) ? obj[key][prop] : parsed;
    }
  }
  return res;
}

var result = convertIntObj(obj);

console.log('Object result', result)

var arrayResult = Object.values(result);

console.log('Array result', arrayResult)
Run Code Online (Sandbox Code Playgroud)

单击“运行代码片段”以查看结果