const [ext] = filename.match(/(?<=\.)[^.]*$/);
// -----
const ext = filename.slice(filename.lastIndexOf('.') + 1);
И не понимаю, куда ты хочешь засунуть i -= 2
for (i = 0; i < a.length; i++){
a[i] > a[i+1] ? (d = a[i+1], a[i+1] = a[i], a[i] = d, i -= 2) : d;
}
Хочу научится писать алгоритмы и шевелить мозгами
К тому же мокать можно по разному.
Так что с этим проблем вообще не вижу.