Javascript 使用jquery将字符串数组转换为整数
我试图在jquery中将字符串数组转换为整数数组 以下是我的尝试:Javascript 使用jquery将字符串数组转换为整数,javascript,jquery,html,Javascript,Jquery,Html,我试图在jquery中将字符串数组转换为整数数组 以下是我的尝试: var cdata = data.values.split(","); $.each( cdata, function(i, l){ l = parseInt(l); }); 不使用jQuery(使用浏览器原生map方法): //使用jQuery $('.usesJQuery'); //使用普通的旧Javascript循环完成您想要完成的操作 var cdata=data.values.split(“,”); 对于(va
var cdata = data.values.split(",");
$.each( cdata, function(i, l){
l = parseInt(l);
});
不使用jQuery(使用浏览器原生map
方法):
//使用jQuery
$('.usesJQuery');
//使用普通的旧Javascript循环完成您想要完成的操作
var cdata=data.values.split(“,”);
对于(var i=0;i
我认为在这种情况下不需要使用Jquery。
在纯javascript中:
var str=“1,2,3”
var ArrayOfInts=str.split(',').map(Number)//输出:[1,2,3]
我相信只要稍微想一想,你自己就能做到。想想看。仔细想想,既然简单的javascript循环就足够了,为什么还要在这种情况下使用jquery呢?使用jQuery的目的是什么?你真的应该避免。我同意总是指定parseInt()
基数,但我也建议parseInt()
是错误的选择,除非你特别想处理非基数10的数字,或者你想忽略源字符串末尾的非数字字符。巴勃罗的答案只包含了一个更好的选项。或者只是:cdata[i]=+cdata[i]代码>。但是这个练习似乎毫无意义,因为字符串可以在表达式中转换为需要作为数字的数字。+foo
是parseInt(foo,10)
的缩写,如果foo='10美元'代码>然后parseInt()
起作用,但+
不起作用。在我看来,parseInt()
比一元+
更清晰/可读。简洁并不是万能的。+foo
是新数字
Array.prototype.map的简写。它不受广泛支持,应该先进行功能测试,如果不可用,还可以提供替代方案。添加for解决方案没有意义,@PaulPRO将其涵盖得非常好。我留下这个只是为了完成(因为其他地方没有提到)
var cdata = data.values.split(",");
$.map( cdata, function(i, l){
return +l;
});
"1,2,3,4,5,6".split(',').map(function(e) {return +e});
// Use jQuery
$('.usesJQuery');
// Do what you want to acomplish with a plain old Javascript loop
var cdata = data.values.split(",");
for(var i = 0; i < cdata.length; i++)
cdata[i] = parseInt(cdata[i], 10);