Type: Array {#Array} ====================== A collection of useful methods to extend Arrays. ### See Also * [Array][] Array Method: min {#Array:min} ------------------------------------- Calls Math.min on the array and returns its lowest value. ### Syntax myArray.min(); ### Example [1, 2, 3].min(); //returns 1 ### Returns * (*number*) the lowest number in the array Array Method: max {#Array:max} ------------------------------------- Calls Math.max on the array and returns its highest value. ### Syntax myArray.max(); ### Example [1, 2, 3].max(); //returns 3 ### Returns * (*number*) the highest number in the array Array Method: average {#Array:average} ------------------------------------- Calculates the average value of the array. ### Syntax myArray.average(); ### Example [1, 2, 3].average(); //returns 2 ### Returns * (*number*) the average value of the array Array Method: shuffle {#Array:shuffle} ------------------------------------- Randomizes the array (altering it). ### Syntax myArray.shuffle(); ### Example [1, 2, 3].shuffle(); ### Returns * (*array*) the array. ### Note Calling this method alters the array; it doesn't just return a new array with the same contents shuffled. It does, however, return itself. Array Method: sum {#Array:sum} ------------------------------------- Sums up all values in an array. ### Syntax myArray.sum(); ### Example $$('ul.menu li').getWidth().sum(); //returns the width of all li elements inside ul.menu as a sum ### Returns * (*number*) a number containing the sum of all values in the given array Array Method: unique {#Array:unique} ------------------------------------- Returns a new array without duplicate values. ### Syntax myArrayWithoutDupes = myArray.unique(); ### Example var fruits = ['apple', 'lemon', 'pear', 'lemon', 'apple'].unique(); //fruits == ['apple', 'lemon', 'pear'] ### Returns * (*array*) a new array without duplicates. Array Method: reduce {#Array:reduce} ------------------------------------- Apply a function against an accumulator and each value of the array (from left-to-right) as to reduce it to a single value. ### Syntax result = myArray.reduce(fn[, value]); ### Arguments 1. fn - (*function*) Function to execute on each value in the array. 2. value - (*mixed*) Value to use as the first argument to the first call of the `fn` #### Signature: fn(previousValue, currentValue, index, array) ### Example [0, 1, 2, 3, 4].reduce(function(a, b){ return a + b; }); // returns 10 [0, 1, 2, 3, 4].reduce(function(a, b){ return a + b; }, 20); // returns 30 ### Returns * (*mixed*) Returns the reduced single value of the array. ### See also: - [MDC Array.reduce][] Array Method: reduceRight {#Array:reduceRight} ---------------------------------------------- Apply a function simultaneously against two values of the array (from right-to-left) as to reduce it to a single value. ### Syntax result = myArray.reduceRight(fn[, value]); ### Arguments 1. fn - (*function*) Function to execute on each value in the array. 2. value - (*mixed*) Value to use as the first argument to the first call of the `fn` #### Signature: fn(previousValue, currentValue, index, array) ### Example var flattened = [[0, 1], [2, 3], [4, 5]].reduceRight(function(a, b) { return a.concat(b); }, []); // flattened is [4, 5, 2, 3, 0, 1] ### Returns * (*mixed*) Returns the reduced single value of the array. ### See also: - [MDC Array.reduceRight][] [Array]: /core/Types/Array [MDC Array.reduce]: https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Global_Objects/Array/Reduce [MDC Array.reduceRight]: https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference/Global_Objects/Array/ReduceRight