将javascript对象转换为数字

新手上路,请多包涵

我有一个对象:

 [{"Spalte":3}]

我怎样才能得到 3 ?

我试过这样的事情:

     var s = JSON.stringify(data);  // [{"Spalte":3}] as String
    var d = parseInt(s); // typeof d = number,

当我尝试 alert(d) 时,我收到了 NaN。

原文由 DibaToner 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 417
2 个回答

你可能打算做

var d = JSON.parse(s)[0].Spalte;

s 包含对象的序列化为 JSON。所以我们用 JSON.parse 解析它以取回原始对象,然后使用标准 javascript 提取数字字段。请注意,不需要 parseInt

或者,您可以自己对数字字段进行字符串化:

 var data = [{"Spalte":3}];
var s = JSON.stringify(data[0].Spalte);
var d = JSON.parse(s);

甚至:

 var data = [{"Spalte":3}];
var s = data[0].Spalte + ""; // simply convert a number to string
var d = parseInt(s); // parse the string back to a number.

原文由 redneb 发布,翻译遵循 CC BY-SA 3.0 许可协议

var data = [{"Spalte":3}]
var s = JSON.stringify(data);  // [{"Spalte":3}] as String
var d = s.replace(/[^0-9]*/g, ''); // typeof d == number

//replace all non-digits with nothing
console.log(d)

原文由 Dan Froberg 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题