这是检查数组中是否存在元素的正确方法吗?

时间:2013-06-19 18:40:49

标签: jquery arrays validation

这是检查Jquery中所选文件类型是否与允许的文件类型匹配的正确方法吗?

var selectedFiles = $('#add_post_file');
var allowedFiles = ['image/jpg','image/gif','image/png'];
var goodFiles = 0;
var numFiles = $('#add_post_file').get(0).files.length;     
for(var i = 0; i < numFiles; i++){              
    var file = $('#add_post_file').files[i];
    if(jQuery.inArray(selectedFiles.get(0).files[i].type, allowedFiles) > -1){
        goodFiles++;
    };
    i++;
};                      
if(goodFiles == numFiles){
    alert('good');
    // continue
}
else{
    alert('one or more files were incorrect file types.');
};

由于

1 个答案:

答案 0 :(得分:1)

可以简化为

for(var i = 0; i < numFiles; i++){

   var file = selectedFiles.files[i];
   if(jQuery.inArray(file.type, allowedFiles) > -1){
        goodFiles++;
    }
}

您也无需增加i的值。它将在for循环中处理