将字符串数组转换为整数数组不起作用

时间:2014-05-04 15:18:26

标签: javascript angularjs

我有以下数组:

s = "215, 216, 217" 

当我这样做时

s.split(",").map(Number)

我收到了回复:

[NaN, 216, NaN] 

如果s只有两个数字,则都返回为NaN。救命啊!

更新

修好了!我不得不摆脱围绕字符串的引号,因为我是从cookie中获取的。

s.replace(/\"/g, "").split(",").map(Number)

做了伎俩!

谢谢!

1 个答案:

答案 0 :(得分:1)

这将解释它:

s.split(",").map(function(item){ return item.trim() }).map(Number)

数字之间有空格:

s = "215,/* here */ 216,/* here */ 217" 

其他可能的解决方案

s.replace(/\s/g,'').split(',').map(Number)

或看起来似乎是最初的方法,但使用正则表达式来摆脱额外的空间:

s.split(/\s*,\s*/).map(Number)