JS, Node.js, Bash

Bash:

посчитать количество уникальных расширений из поддиректорий

Если вдруг есть такая задачка, то она так же как и в JS решается 100500 способами, но я для себя выбрал один, который использую:

$> ls -1 storage/**/*.* | cut -d"." -f2- | sort | uniq -c
2065 doc
2305 docx
10030 pdf
740 rtf
108 txt

Вот как-то так…

Array.flat polyfill

С недавних пор в JS есть метод flat. Может быть очень полезен, например, при рекурсивных/вложенных обработках. Например нужно прочитать файлы из поддиректорий директорий, отсеить по условиям и вернуть 1 плоский массив полных путей. Но, если вы используете LTS версию Node.js то этого метода там еще нет. И тут по сути решение задачи, которое так же можно встретить на собеседованиях:

Заполифилить метод flat для массива.

Решение (без особых объяснений):

if (!Array.prototype.flat) Array.prototype.flat = function () {
return (function f(arr) {
return arr.reduce(
(a, v) =>
Array.isArray(v)
? a.concat(f(v))
: a.concat( v )
, []
)
})(this)
};
// Usage
[1,2,3,[1,2,3,4, [2,3,4]]].flat()
// [1, 2, 3, 1, 2, 3, 4, 2, 3, 4]