Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将字符串数组转换为整数数组无效_Javascript_Angularjs - Fatal编程技术网

Javascript 将字符串数组转换为整数数组无效

Javascript 将字符串数组转换为整数数组无效,javascript,angularjs,Javascript,Angularjs,我有以下数组: s = "215, 216, 217" 当我这样做的时候 s.split(",").map(Number) 我要把这个拿回来: [NaN, 216, NaN] 如果s只有两个数字,则两者都返回为NaN。救命啊 更新: 修好了!我必须去掉字符串周围的引号,因为我是从cookie中获取的 s.replace(/\"/g, "").split(",").map(Number) 我成功了 谢谢 这将解释: s.split(",").map(function(item){ re

我有以下数组:

s = "215, 216, 217" 
当我这样做的时候

s.split(",").map(Number)
我要把这个拿回来:

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

更新:

修好了!我必须去掉字符串周围的引号,因为我是从cookie中获取的

s.replace(/\"/g, "").split(",").map(Number)
我成功了

谢谢

这将解释:

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)

你在用什么浏览器?Google Chrome,最新版本不能在Google Chrome版本34.0.1847.131中复制事实上,我是通过cookies来实现的,当我对字符串进行
拆分(“,”
)时,我得到以下信息:
[“215”,“216”,“217”]
更新你的问题?我刚刚意识到,因为它正在通过cookies,当我刚刚执行
.split(“,”)
时,我得到了这样一个信息:
[“215”、“216”、“217”]
需要去掉数组
s.split(“,”).map(function(item){return item.match(/\d+/)}中周围的引号。
谢谢@Ejay我试图说明一点,尽管你的选择非常有效。我也在考虑s.replace(/\s/g,,).split(,).map(Number)似乎@MohamedElMahallawy就是这样做的:)