如何使用 Ramda.js 映射对象值并仅获取第一个元素?

How can I map over object values using Ramda.js and take only first element?

我有这样的输入:

{
  a: [obj1, obj2, obj3...],
  b: [obj1, obj2, obj3...],
  c: [obj1, obj2, obj3...]
}

我想要那个输出(每个键只有数组中的第一个对象)

{
  a: [obj1],
  b: [obj1],
  c: [obj1]
}

我想使用 ramda.js

const data = {
  a: [obj1, obj2, obj3],
  b: [obj1, obj2, obj3],
  b: [obj1, obj2, obj3]
}

const updatedData = R.mapObjIndexed( value => ([value[0]]), data)

(此代码无效,因为 obj1obj2obj3 未定义)

最简单的答案就是 map(head, obj),或者如果您想要一个可重复使用的函数,map(head)

您可以在 Ramda REPL.

上看到实际效果