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 #

math.partitionSelect(x, k)
math.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 #

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

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

See also #

sort

Fork me on GitHub