使用 Ramda 对 X 和 Y 坐标进行排序
Sort X and Y co-ordinates using Ramda
我有一个形式的数组:
[
{ 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']))
])
看起来你想使用 sortWith。
这里是an example:
var list = [
{ i: 'first', layout: {x: 1, y: 1} },
{ i: 'second', layout: {x: 1, y: 0} },
{ i: 'third', layout: {x: 0, y: 1} },
];
var xySort = R.sortWith([
R.ascend(R.path(['layout', 'x'])),
R.ascend(R.path(['layout', 'y'])),
]);
console.log(xySort(list));
我有一个形式的数组:
[
{ 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']))
])
看起来你想使用 sortWith。
这里是an example:
var list = [
{ i: 'first', layout: {x: 1, y: 1} },
{ i: 'second', layout: {x: 1, y: 0} },
{ i: 'third', layout: {x: 0, y: 1} },
];
var xySort = R.sortWith([
R.ascend(R.path(['layout', 'x'])),
R.ascend(R.path(['layout', 'y'])),
]);
console.log(xySort(list));