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