Javascript 如何将字符串更改为数字

Javascript 如何将字符串更改为数字,javascript,Javascript,我对一些代码有问题。我需要它返回这样一个对象: {name: "Harry, email: "harry@gmail.com", age: 22} //age is 22 a number not '22' a string {name: "Harry, email: "harry@gmail.com", age: '22'} 然而,它是这样返回的: {name: "Harry, email: "harry@gmail.com", age: 22} //age is 22 a numbe

我对一些代码有问题。我需要它返回这样一个对象:

{name: "Harry, email: "harry@gmail.com", age: 22}
//age is 22 a number not '22' a string 
{name: "Harry, email: "harry@gmail.com", age: '22'} 
然而,它是这样返回的:

{name: "Harry, email: "harry@gmail.com", age: 22}
//age is 22 a number not '22' a string 
{name: "Harry, email: "harry@gmail.com", age: '22'} 
这是我的密码

function formObj(elems) {
  let form = {};
  for(let elem of elems) {
    let key = elem.id;
    let val = elem.value;
    if(key && val)
      form[key] = val;
  }
  return form;
}

let elements = document.querySelectorAll('form *') 
formObj(elements);

名称
电子邮件
年龄

请提供帮助

您可以将钥匙的类型更改为
年龄

函数formObj(elems){
设form={};
for(让元素中的元素){
让key=elem.id;
设val=elem.value;
如果(键和值)
表[键]=键==“年龄”?编号(val):val;
}
console.log(表单)
申报表;
}
let elements=document.querySelectorAll('form*'))
formObj(元素)

名称
电子邮件
年龄

如果将“年龄”输入的类型更改为数字,则应获得所需的结果,例如:

<input type='number' id='age' value="22" />


通过parseInt()将其转换为
type=text
那样的
type=number
或使用parseInt将字符串转换为整数。@riorudo使用
type=number
仍将使
elem.value
返回字符串。否,
elem.value
仍将是字符串
type='number'
只影响浏览器显示输入的方式。