javascript - 在 ramda.js 中使用嵌套字段进行排序

标签 javascript ramda.js

sortBy 的文档中,它说我们可以使用 R.prop 按对象的字段对对象进行排序。但是如果我必须按嵌套字段排序,它就不起作用。例如 R.prop('id.number') 不起作用。

var items = [{id:3},{id:1},{id:2}];
var sorter = R.sortBy(R.prop('id'));
sorter(items)

工作正常。但是如果我有一个嵌套结构

var items = [{id:{number:3}},{id:{number:1}},{id:{number:2}}];
var sorter = R.sortBy(R.prop('id.number'));
sorter(items)

返回一个空列表。我想有一种正确的使用 R.prop 的方法,但我无法弄清楚。

最佳答案

您可以使用 R.path 访问嵌套属性,因此您的示例将变为 R.sortBy(R.path(['id', 'number']))

关于javascript - 在 ramda.js 中使用嵌套字段进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36257219/

相关文章:

javascript - 动态更改 Twitter Bootstrap 模式的文本

javascript - JQuery 移动可折叠内容未正确显示

javascript - 使用 ramdajs 创建前 5 个聚合

javascript - Ramda `cond` else 语句

JavaScript - 将数组转换为 map

javascript - 在 promise 中 react setState 导致无限循环

javascript - JavaScript 控制台中发生错误。功能可能会受到影响

javascript - Promise 一个 redux 表单 onSubmit 函数

javascript - 在 Ramda 中做一些无积分的事情

javascript - 将对象数组合并为单个对象数组