Я пытаюсь написать код, используя Ramda для создания новой структуры данных, используя только ключи id
и comment
исходных объектов. Я новичок в Ramda, и он дает мне некоторые припадки, хотя у меня есть опыт работы с тем, что я считаю похожим кодированием с Python.
Учитывая следующую исходную структуру данных…
const commentData = {
'30': {'id': 6, 'comment': 'fubar', 'other': 7},
'34': {'id': 8, 'comment': 'snafu', 'other': 6},
'37': {'id': 9, 'comment': 'tarfu', 'other': 42}
};
Iхочу преобразовать его в этот…
{
'6': 'fubar',
'8': 'snafu',
'9': 'tarfu'
}
Я нашел следующий пример в кулинарной книге Ramda , который подходит близко ...
const objFromListWith = R.curry((fn, list) => R.chain(R.zipObj, R.map(fn))(list));
objFromListWith(R.prop('id'), R.values(commentData));
Но возвращаемые значения включают в себявесь исходный объект как значения…
{
6: {id: 6, comment: "fubar", other: 7},
8: {id: 8, comment: "snafu", other: 6},
9: {id: 9, comment: "tarfu", other: 42}
}
Как можно уменьшить значения до значения только их ключа comment
?
Я не нужно , чтобы использовать код, который я получил из поваренной книги. Если кто-нибудь может предложить какой-нибудь код, который даст результаты, которые я ищу, также лучше (проще, короче или эффективнее), чем приведенный здесь пример, я буду рад использовать его вместо этого.