Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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 jQuery从数字字符串创建int数组_Javascript_Jquery_Arrays_Split - Fatal编程技术网

Javascript jQuery从数字字符串创建int数组

Javascript jQuery从数字字符串创建int数组,javascript,jquery,arrays,split,Javascript,Jquery,Arrays,Split,var columns=$('#dynamicTable').attr('columns'); var attributeIds=新数组(); attributeIds=columns.split(','); 这将创建一个字符串数组,我需要它们是int。最好的方法是什么?你可以 var columns = $('#dynamicTable').attr('columns'), attributeIds = $.map(columns.split(','), function(val, i


var columns=$('#dynamicTable').attr('columns'); var attributeIds=新数组(); attributeIds=columns.split(','); 这将创建一个字符串数组,我需要它们是int。最好的方法是什么?

你可以

var columns = $('#dynamicTable').attr('columns'),
    attributeIds = $.map(columns.split(','), function(val, idx) { return parseInt(val, 10) });
示例:

下面是另一种使用一元
+
运算符的
while
循环的方法:

示例:


changelog answer无疑是最优雅的答案,但根据您需要对这些整数执行的操作,您可以直接在
map
函数中执行,而不是将新数组存储在单独的变量中。谢谢!我尽我所能地利用提供给我的大量信息:-)changelog和patrick dw都能工作,哪个更好/更快?两者都一样好。速度在这里不是问题,因为速度太快,差异可以忽略不计。据我所知,我对$.parseJSON唯一关心的是,如果不包括json2.js库,一些较旧的浏览器就不会实现本机JSON解析功能,这一功能自2009年12月才出现。请不要介意前面的评论。jQuery使用“return”+数据体创建一个新函数,当浏览器无法进行本机JSON解析时,该函数与eval()基本相同。最后一个解决方案的问题是它颠倒了ID的顺序。如果ID需要按特定顺序发送,该怎么办?@changelog:它不会颠倒顺序。它只是反向遍历数组。如果有10个项目,索引9将被索引9的修改值覆盖。然后是8、7、6等等。。如果单击我提供的示例链接,您将看到
alert()
中的结果与
columns
属性中的结果顺序相同。
var columns = $('#dynamicTable').attr('columns'),
    attributeIds = $.map(columns.split(','), function(val, idx) { return parseInt(val, 10) });
var columns = $('#dynamicTable').attr('columns');
var attributeIds = $.parseJSON( '[' + columns + ']' );
var columns = $('#dynamicTable').attr('columns');
var attributeIds = columns.split(',');
var len = attributeIds.length;

while( len-- ) {
    attributeIds[len] = +attributeIds[len];
}