Сначала хочется отметить, что раз речь идет о функциональном подходе, то стоит в примерах стремиться и к чистоте функций. И именованные функции — это конечно, замечательно, но здесь также надо знать меру, ровно как и со стрелочными функциями.
К слову, в примере со стрелочными функциями data.arr заполнится undefined.
А приведенный пример остается достаточно понятным и читабельным как-нибудь так (дальнейшая декомпозиция зависит уже от контекста и условий задачи, тестирования и многих факторов):
К слову, в примере со стрелочными функциями data.arr заполнится undefined.
А приведенный пример остается достаточно понятным и читабельным как-нибудь так (дальнейшая декомпозиция зависит уже от контекста и условий задачи, тестирования и многих факторов):
const requestErrorHandler =…
const requestSuccessHandler = ({ arr }) => arr
.map(({ props }) => props
.filter(prop => !!prop)
.map(prop => ({ ...prop, a: prop.a * 2 })))
.filter(({ props }) => props
.some(({ a }) => a > 10));
$http
.request('GET', '/api')
.then(requestSuccessHandler, requestErrorHandler);