Нет предварительно загруженной HTML-разметки или CSS для создания приятного визуального образа. Сегодняшняя задача заключалась в том, чтобы попрактиковаться в методах Array.

Всегда полезно освежить свои методы Array.

Задача охватывала:

  • карта
  • сортировать
  • фильтр
  • уменьшить

forEach не использовался, но это основная часть, поэтому вам не нужно больше практиковаться с ним.

Я был знаком с методами этого задания, но научился паре трюков или разным способам мышления.

Для меня лучшей практикой стало использование reduce. Я использовал его, но не так часто, как хотелось бы, и здорово получить как можно больше информации о нем.

Что я узнал:

  • Одно из упражнений требовало преобразования из NodeList в массив. Хотя я знаю, как использовать оператор расширения ES6 для преобразования, старый метод Array.from() также работает в этом случае. Возможно, это более логично с точки зрения синтаксиса, но я предпочитаю первый вариант, поскольку он немного короче и обеспечивает дополнительную гибкость.
  • Я никогда не думал, что по какой-то причине выбрасываю объект в качестве параметра в .reduce(). Метод просто принимает параметр, поэтому он ничем не отличается от того, что вы можете передать обычной функции, мне это просто никогда не приходило в голову.

Интересные вещи на заметку:

Для .sort мы продолжали использовать -1 и 1, а также троичное число, тогда как на самом деле вам нужно только любое положительное или отрицательное число (или 0, но это другой сценарий).

Это хорошая уловка и, возможно, хорошая практика, но вам это понадобится, только если вы не имеете дело с числами.

Пример:

newArray.reduce((a,b) => a-b > 0 ? 1: -1)

Там, где вы могли бы также сделать это прямо, если a и b являются числами

newArray.reduce((a,b) => a-b)