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];
}