如何使用javascript过滤各种mime文件类型

时间:2018-10-08 03:06:06

标签: javascript

在这里我具有文件上传功能,在这里我具有各种文件类型,例如

1.jpg,2.jpeg,3.png,4.jpeg

在这里我该如何过滤这些文件类型,例如假设如果我有两个包含.jpeg文件的文件,并且像上面的示例一样,那么它必须显示.jpeg,.png,.jpg,并且如果所有文件类型均为.jpeg, jpeg,jpeg,则应显示“ +”

以下是我应用的逻辑,但是如果我定义了某个扩展名,它将起作用

var filelist = ['woohoo.txt', 'aha.pdf', 'wahoo.txt'];
var extension = '.txt';

var x = filelist.filter(function(file){
    return file.indexOf(extension) !== -1;
});

console.log(x); //

在这里我不知道哪个扩展会更多,因此可以动态地对其进行分组

1 个答案:

答案 0 :(得分:0)

您需要将所有扩展名组成一个数组,然后将其过滤掉。

var filelist = ['woohoo.txt', 'aha.txt', 'wahoo.txt','wahoo.abc.txt'];

function onlyUnique(value, index, self) { 
    return self.indexOf(value) === index;
}

var extensions = filelist.map(function(file){
    return file.split('.')[file.split('.').length-1];
});

var unique = extensions.filter( onlyUnique ); 

console.log(unique.length >1 ? unique.toString() : unique.toString()+'+'); //