JavaScript tips & tricks #1 Массивы
Maksym Pohribniak✅ Обрезать массив.
Альтернативой методу slice можно переопределить его свойство length следующим образом:

✅ Оставить уникальные элементы массива.

До ES6 выделение уникальных значений потребовало бы намного больше кода, чем в примере выше.
✅ Фильтровать ложные значения.
В Javascript ложными значениями являются false, 0, „”, null, NaN, undefined. Мы можем просто убрать такого рода значения из нашего массива методом .filter
Вместо кода типа:
.filter(value => !!value);
.filter(value => Boolean(value));
Просто сразу используйте встроенную функцию Boolean

✅ Все в массив.
Метод Array.from() создаёт новый экземпляр Array из массивоподобного или итерируемого объекта.

Можно использовать на строках как альтернатива split метода.
Удобно работать с NodeList и HTMLCollection.
Так как вторым аргументом он принимает mapFn, можно генерировать массивы на лету. В целом ему важно только одно свойство length.
✅ Последний элемент массива.
Вместо классического foo[foo.length - 1] можно использовать следующий прием:

Важный момент! Метод .pop() изменяет исходный массив. Если в дальнейшем он используется то нужно скопировать массив перед вызовам данного метода:

✅ Пересечение двух массивов.
Эту задачку любят задавать на собеседовании по JavaScript. Нужно найти элементы представленные в обоих массивах. Простой способ решения используя описанные выше фишки:

✅ Деструктуризация

Специальный синтаксис, который позволяет нам «распаковать» массивы или объекты в кучу переменных. Можно достать любой элемент по индексу (строка 3). Так же можно сразу записывать свойства в объект (строка 7).