Function partitionSelect

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

Syntax

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

Parameters

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'.

Returns

Type Description
* Returns the kth lowest value.

Examples

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

sort