Function partitionSelect

Partition-based selection of an array or 1D matrix. Will find the kth smallest value, and mutates the input array. Uses Quickselect.


partitionSelect(x, k)
partitionSelect(x, k, compare)


Parameter Type Description
x Matrix | Array A one dimensional matrix or array to sort
k Number The kth smallest value to be retrieved; zero-based index
compare Function | 'asc' | 'desc' An optional comparator function. The function is called as compare(a, b), and must return 1 when a > b, -1 when a < b, and 0 when a == b. Default value: 'asc'.


Type Description
* Returns the kth lowest value.


partitionSelect([5, 10, 1], 2);           // returns 10
partitionSelect(['C', 'B', 'A', 'D'], 1); // returns 'B'

function sortByLength (a, b) {
  return a.length - b.length;
partitionSelect(['Langdon', 'Tom', 'Sara'], 2, sortByLength); // returns 'Langdon'

See also