控制台调试显示数组是 ex。 [“2”],但我需要 [2]。
为什么转换不起作用?
function filterElements(deals) {
var result = deals,
categories= $('#deals-categories').data('current_category');
if (categories != undefined && categories.length > 0) {
for (var i; i < categories.length; i++) {
categories[i] = parseInt(categories[i]);
}
console.log(categories, 'cats');
result = $.grep(result, function(e) {
return $.inArray(e.category_id, categories) != -1;
});
}
return result;
}
最佳答案
您需要在循环声明中初始化var i = 0
。
完整的代码清理:
function filterElements(deals) {
var result = deals,
categories = $('#deals-categories').data('current_category');
if (categories && categories.length) {
for (var i=0; i<categories.length; i++) {
categories[i] = parseInt(categories[i], 10);
}
console.log(categories, 'cats');
result = $.grep(result, function(e) {
return $.inArray(e.category_id, categories) !== -1;
});
}
return result;
}
关于javascript - 数字数组作为字符串到简单的 int 转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7230502/