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]