javascript - 使用 Ramda 对 X 和 Y 坐标进行排序
问题描述
我有一个形式的数组:
[
{ i: 'text', layout: {x: 1, y: 0} }
{ i: 'text', layout: {x: 0, y: 0} }
{ i: 'text', layout: {x: 1, y: 1} }
]
我想使用 ramda 包对数组进行排序
我已经达到了先对 Y 进行排序的程度——
const sortedY = R.sortBy(R.path(['layout', 'y']));
const temp = sortedY(originalContent);
请建议我如何对 x 和 y 进行排序 -
{x: 0, y: 0}
{x: 1, y: 0}
{x: 1, y: 1}
解决方案
使用sortWith使用多个比较器进行排序。
const xySort = R.sortWith([
R.ascend(R.path(['layout','x'])),
R.ascend(R.path(['layout','y']))
])
推荐阅读
- parameters - 如何在同一页面中使用参数
- java - 在活动中存储/保存收到的推送通知
- java - 当一切似乎都被正确声明时,我得到了空期望
- hyperledger-fabric - Hyperledger cryptogen 实用程序,在 admincerts 中缺少管理员和用户 pem 证书,但在 signcerts 中存在
- konvajs - 如何将 KonvaJS 画布导出为包含图像的 PDF 文件?
- python - Python - Sum() 函数用于字符列表
- amazon-web-services - Amazon S3 生命周期规则何时执行?
- java - 为什么我们要在声明 List 中的索引 i 处初始化一个列表
- > 图表
- java - JsonString 列表到用户对象列表的转换
- python-3.x - 将表格复制到剪贴板