1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-01-18 14:48:25 +01:00
dotSCAD/docs/lib2x-sort.md
2020-01-28 17:51:20 +08:00

1000 B

sort

Sorts the elements of a list in ascending order. The list is a list-of-list construct, such as [[a0, a1, a2...], [b0, b1, b2,...], [c0, c1, c2,...],...]. When sorting, the function looks only at one index position of each sublist.

Since: 2.0

Parameters

  • lt : The original list.
  • by : Can be "x""y""z", or "idx" (Default).
  • idx : When by is "idx", the value of idx is used. The Default value is 0.

Examples

use <util/sort.scad>;

assert(
    [[2, 0, 0], [5, 0, 0], [7, 0, 0], [9, 0, 0], [10, 0, 0]] == 
    sort([[10, 0, 0], [5, 0, 0], [7, 0, 0], [2, 0, 0], [9, 0, 0]])
);

assert(
    [[2, 0, 0], [5, 0, 0], [7, 0, 0], [9, 0, 0], [10, 0, 0]] == 
    sort([[10, 0, 0], [5, 0, 0], [7, 0, 0], [2, 0, 0], [9, 0, 0]], by = "x")
);

assert(
    [[0, 2, 0], [0, 5, 0], [0, 7, 0], [0, 9, 0], [0, 10, 0]] == 
    sort([[0, 10, 0], [0, 5, 0], [0, 7, 0], [0, 2, 0], [0, 9, 0]], by = "idx", idx = 1)
);