javascriptのFileListから、指定要素を削除したいです


現在は下記のような実装になっており、elseに入ったらその時点のfile[i]を削除したいのですが方法が分かりません。ご教授をお願いします。

[code]

    var files = e.target.files || e.dataTransfer.files;
    
            for (var i = 0; i < files.length;i++){
                if (files[i].type == 'video/3gpp' || files[i].type == 'video/3gpp2' ||
                files[i].type == 'audio/vnd.dlna.adts' || files[i].type == 'video/avi' ||
                files[i].type == 'video/vnd.dlna.mpeg-tts' || files[i].type == 'audio/x-m4a' ||
                files[i].type == 'audio/x-m4b' || files[i].type == 'audio/x-m4p' ||
                files[i].type == 'video/quicktime' || files[i].type == 'video/mp4' ||
                files[i].type == 'audio/wav' || files[i].type == 'video/x-matroska' ||
                files[i].type == 'audio/x-matroska' || files[i].type == 'audio/mp3') {
                    alert(files[i].type + 'ファイルが選択されました');
                }
                else {
                    alert(files[i].type + '不正なファイル形式です');
                   }
            }
    
[/code]




結果を保存する配列を用意して、そこに必要な物だけ保存するのはどうでしょうか？  
説明のためにファイルの配列ではなく単なる文字列の配列で書いてみました。  
また条件判断もスッキリ書けるように書きなおしました。

[code]

    files = ['video/3gpp', 'audio/x-m4b', 'other'];
    accepted_file_types = [
        'video/3gpp','video/3gpp2','audio/vnd.dlna.adts', 'video/avi', 'audio/x-m4b'
    ];
    filtered_files = [];
    for (var i = 0; i < files.length; i++){
        if(accepted_file_types.indexOf(files[i]) >= 0){
            filtered_files.push(files[i]);
        }
    }
    
[/code]




結果を保存する配列を用意して、そこに必要な物だけ保存するのはどうでしょうか？  
説明のためにファイルの配列ではなく単なる文字列の配列で書いてみました。  
また条件判断もスッキリ書けるように書きなおしました。

[code]

    files = ['video/3gpp', 'audio/x-m4b', 'other'];
    accepted_file_types = [
        'video/3gpp','video/3gpp2','audio/vnd.dlna.adts', 'video/avi', 'audio/x-m4b'
    ];
    filtered_files = [];
    for (var i = 0; i < files.length; i++){
        if(accepted_file_types.indexOf(files[i]) >= 0){
            filtered_files.push(files[i]);
        }
    }
    
[/code]

