Как я могу изменить этот код:
map(user => assoc('isAdult', isAdult(user), user)
для работы без точек (используя Ramda). Я думал, как это сделать с помощью useWith, но не нашел работающей реализации.
Любые идеи?
import { pipe, prop, gte, __, map, assoc, sortWith, descend } from 'ramda'
const isAdult = pipe(
prop('age'),
gte(__, 18)
)
const func = pipe(
map(user => assoc('isAdult', isAdult(user), user)),
sortWith([
descend(prop('isAdult')),
descend(prop('age')),
])
)
export default func
ИЗМЕНИТЬ (подробнее):
Я хочу создать функцию, которая возвращает массив объектов, расширенный ключом isAdult
. Если пользователю больше 18 лет, мы устанавливаем флаг true
.
Кроме того, функция должна возвращать пользователей, отсортированных по флагу isAdult
, а затем отсортированных по ключу age
.
Пример данных:
const data1 = [
{
name: 'Cassidy David',
email: '[email protected]',
id: 'FC92BF1E-A6FD-E5C1-88AB-183BD1BC59C5',
position: 1,
age: 53,
created_at: '2017-04-07'
},
{
name: 'Gwendolyn Edwards',
email: '[email protected]',
id: '00000001-ED9D-3A88-0D3C-07A148FD43ED',
position: 2,
age: 10,
created_at: '2016-05-21'
},