цепочки map.filter.reduce? Например в той же бизнес логике? Или лучше делать это не в цепочке, а присваивать поэтапно значение переменной и использовать ее далее, таким образом именуя каждый этап, названием этой переменной?
абсолютно корректно
если это не вредит читаемости и блоки кода достаточно маленькие, то норм
единственное - при больших объемах данных это может бить по памяти и производительности, поскольку каждая такая операция - это новый проход по массиву и создание нового массива. в особых случаях будет лучше пройтись вручную в цикле и сделать всё за один проход. Но в простых случаях читаемость дороже
читаемость, да. когда ты видишь map - ты точно понимаешь, что тут происходит преобразование каждого элемента массива, и т.д.
вообще в условных 99% (просто утрирую) будет абсолютно наплевать на оптимизации в map.filter. Поэтому в большинстве случаев лучше брать семантически верную функцию
Что скажите насчёт reduce? Его корректно использовать для объединения map.filter? Или лучше его использовать только по прямому назначению (вычисление значения, на основе каждого элемента массива)?
опять таки - в случае необходимости оптимизации, чтоб делать не 2 прохода, а один, корректно. но в 99% случаев лучше его использовать именно когда нужно как-то собрать массив в одно значение, да
Вы бы для чего использовали reduce?
для свёртки массива, т.е. получения совсем другого результата, а не map + filter
Обсуждают сегодня