const filesList = ["000.webm", "001.ini", "01.jpg", "02.jpg", "03.jpg", "04.jpg"];
const allowedExt =["jpg", "png", "gif", "jpeg", "dwg", "psd", "pdf", "docx", "txt", "zip", "rar",
"exe", "max"];
const notAllowedExt = filesList.filter(file => !allowedExt.includes(/(?:\.([^.]+))?$/.exec(file)[1]))
Мы фильтруем список выбранных пользователем файлов и передаем в качестве условия другую функцию, которая проверяет, находится ли выбранный пользователем файл в разрешенном списке или нет, и мы возвращаем противоположное, потому что мы хотим перечислить только расширения, которые не допускается.
Регулярное выражение должно работать для следующих имен файлов и возвращать расширение:
"file.name.with.dots.txt". // 'txt'
"file.txt" // 'txt'
"file" // undefined
"" // undefined
null // undefined
undefined // undefined