我有以下数组:
s = "215, 216, 217"
当我这样做时
s.split(",").map(Number)
我收到了回复:
[NaN, 216, NaN]
如果s只有两个数字,则都返回为NaN。救命啊!
更新
修好了!我不得不摆脱围绕字符串的引号,因为我是从cookie中获取的。
s.replace(/\"/g, "").split(",").map(Number)
做了伎俩!
谢谢!
答案 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)