# 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 #

``````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 #

``````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
``````