如何使用 Ramda 根据嵌套键对对象数组进行排序?
How to sort an array of objects based on nested key using Ramda?
我从这样的对象开始:
const myObj = {
key1: {a: 123, b: 'some field1'},
key2: {a: 1, b: 'some field2'},
key3: {a: 123123, b: 'some field3'}
}
我使用 R.toPairs
将其转换为数组,结果是:
[
["key1", {"a": 123, "b": "some field1"}],
["key2", {"a": 1, "b": "some field2"}],
["key3", {"a": 123123, "b": "some field3"}]
]
现在不确定如何在更深的键上对该数组进行排序 a
。我听说 Ramda 的镜头可以提供帮助,但不确定如何。我也对非镜头方法持开放态度。
一个简单的方法是组合两个道具:
R.sortBy(
R.compose(
R.prop('a'), R.prop(1)
)
)
(R.toPairs(myObj))
如果您需要更多嵌套,请参阅 this recipe。
我从这样的对象开始:
const myObj = {
key1: {a: 123, b: 'some field1'},
key2: {a: 1, b: 'some field2'},
key3: {a: 123123, b: 'some field3'}
}
我使用 R.toPairs
将其转换为数组,结果是:
[
["key1", {"a": 123, "b": "some field1"}],
["key2", {"a": 1, "b": "some field2"}],
["key3", {"a": 123123, "b": "some field3"}]
]
现在不确定如何在更深的键上对该数组进行排序 a
。我听说 Ramda 的镜头可以提供帮助,但不确定如何。我也对非镜头方法持开放态度。
一个简单的方法是组合两个道具:
R.sortBy(
R.compose(
R.prop('a'), R.prop(1)
)
)
(R.toPairs(myObj))
如果您需要更多嵌套,请参阅 this recipe。