1 /** 2 * @fileOverview This file contains generics for Array methods 3 */ 4 5 Array.slice = function slice(arr) { 6 return Array.prototype.slice.apply(arr, Array.prototype.slice.call(arguments, 1)); 7 }; 8 9 (function fn(method) { 10 if(method in Array) return fn; 11 Array[method] = function(arr) { 12 return Array.prototype[method].apply(arr, Array.slice(arguments, 1)); 13 }; 14 return fn; 15 })('diff')('intersect')('unique')('shuffle')('item')('has')('indexOf')('lastIndexOf') 16 ('every')('some')('filter')('forEach')('map')('reduce')('reduceRight')('join'); 17 18