# Function pickRandom Random pick one or more values from a one dimensional array. Array elements are picked using a random function with uniform or weighted distribution. ## Syntax ```js math.pickRandom(array) math.pickRandom(array, number) math.pickRandom(array, weights) math.pickRandom(array, number, weights) math.pickRandom(array, weights, number) math.pickRandom(array, { weights, number, elementWise }) ``` ### Parameters Parameter | Type | Description --------- | ---- | ----------- `array` | Array | Matrix | A one dimensional array `number` | Int | An int or float `weights` | Array | Matrix | An array of ints or floats ### Returns Type | Description ---- | ----------- number | Array | Returns a single random value from array when number is 1 or undefined. Returns an array with the configured number of elements when number is > 1. ### Throws Type | Description ---- | ----------- ## Examples ```js math.pickRandom([3, 6, 12, 2]) // returns one of the values in the array math.pickRandom([3, 6, 12, 2], 2) // returns an array of two of the values in the array math.pickRandom([3, 6, 12, 2], { number: 2 }) // returns an array of two of the values in the array math.pickRandom([3, 6, 12, 2], [1, 3, 2, 1]) // returns one of the values in the array with weighted distribution math.pickRandom([3, 6, 12, 2], 2, [1, 3, 2, 1]) // returns an array of two of the values in the array with weighted distribution math.pickRandom([3, 6, 12, 2], [1, 3, 2, 1], 2) // returns an array of two of the values in the array with weighted distribution math.pickRandom([{x: 1.0, y: 2.0}, {x: 1.1, y: 2.0}], { elementWise: false }) // returns one of the items in the array ``` ## See also [random](random.md), [randomInt](randomInt.md)