在这里我具有文件上传功能,在这里我具有各种文件类型,例如
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); //
在这里我不知道哪个扩展会更多,因此可以动态地对其进行分组
答案 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()+'+'); //