在Javascript中解析算术值字符串

在Javascript中解析算术值字符串,javascript,string,floating-point,int,Javascript,String,Floating Point,Int,如何将包含(0、实数、浮点、负数)的字符串转换为算术值数组 给定输入var str=“0 12-3 10” 我希望输出vararr=[0,12,-3,10] 我试过: eval(str),但它跳过0和负数 parseInt(str),但它只接受第一个索引,而忽略其余索引 提前感谢。您可以拆分字符串并使用映射将值作为数字 使用: 以空格作为参数 与 作为将值转换为数字的回调 var string=“0 12-3 10”, 数组=字符串 .拆分(“”) .地图(编号); console.l

如何将包含(0、实数、浮点、负数)的字符串转换为算术值数组

给定输入
var str=“0 12-3 10”

我希望输出
vararr=[0,12,-3,10]

我试过:

  • eval(str)
    ,但它跳过0和负数
  • parseInt(str)
    ,但它只接受第一个索引,而忽略其余索引

提前感谢。

您可以拆分字符串并使用映射将值作为数字

使用:

  • 以空格作为参数

  • 作为将值转换为数字的回调

var string=“0 12-3 10”,
数组=字符串
.拆分(“”)
.地图(编号);

console.log(数组)带有
String.match()函数的扩展解决方案

var str=“0 12-3 10-0.003 0.9 b”,
arr=str.match(/-?\d+(\.\d+)/g).map(编号);

控制台日志(arr)只需在空格中拆分字符串即可创建数组并将数组元素映射为数字

var arr=“0 12-3 10”。拆分(“”)。映射(编号);
控制台日志(arr)