JQuery создать INT Array из строки чисел - PullRequest
4 голосов
/ 27 декабря 2010

<div id="dynamicTable" columns="26,40,41,21,71,39,23,19">

var columns = $('#dynamicTable').attr('columns');
var attributeIds = new Array();
attributeIds = columns.split(',');

Это создает массив строк, мне нужно, чтобы они были целыми числами.Какой лучший способ сделать это?

Ответы [ 2 ]

9 голосов
/ 27 декабря 2010

Вы можете использовать $.parseJSON.

Пример: http://jsfiddle.net/ULkXy/

var columns = $('#dynamicTable').attr('columns');
var attributeIds = $.parseJSON( '[' + columns + ']' );

Вот еще один способ использования whileцикл с унарным оператором +:

Пример: http://jsfiddle.net/ULkXy/1/

var columns = $('#dynamicTable').attr('columns');
var attributeIds = columns.split(',');
var len = attributeIds.length;

while( len-- ) {
    attributeIds[len] = +attributeIds[len];
}
7 голосов
/ 27 декабря 2010
var columns = $('#dynamicTable').attr('columns'),
    attributeIds = $.map(columns.split(','), function(val, idx) { return parseInt(val, 10) });
...