Here you can find the source of sliceNonUnique()
/**//from w w w. ja v a2s. co m * Array#sliceNonUnique -> Array * * var arr = [1,1,2,3,3,4,1,2,2,5,5,5]; * arr.sliceNonUnique(); * * // produces * [[1, 1, 1], [2, 2, 2], [3, 3], [5, 5, 5]] * **/ Array.prototype.sliceNonUnique = function() { var result = [], clone = this.sort(); for (var i=0, l=clone.length; i<l; i++) { if (clone[i] === clone[i+1]) { var temp = []; while (clone[i] === clone[i+1]) { temp.push(clone[i]); i++; } if (clone[i] === clone[i-1]) { temp.push(clone[i]); } result.push(temp); } } return result; };
Array.prototype.slice = function(index = 0) { var arr = []; var length = this.length; if ( typeof index != "number" ) throw 'TypeError'; if ( length <= 0 ) length = 0; for (index; index < length; index++) arr.push(this[index]); ...
Array.prototype.slice = function(index) { result = [] if (typeof index != "number") { for (index; index < this.length; index++) { result.push(this[index]) return result
Array.prototype.slice = function(start, end) { if (end == null) { end = this.length; if (start < 0) { start = this.length + start; if (end < 0) { end = this.length + end; ...
Array.prototype.slice = function(start, end) { var arr = []; if (start === undefined && end === undefined) { for (var i=this.length;i--;arr.unshift(this[i])); } else if (end === undefined) { for (var i = start; i < this.length; ++i) { arr.push(this[i]) } } else { for (var i = start; i < end && i < this.length; ++i) { arr.push(this[i]) } return arr; };
Array.prototype.sliceMe = function (begin, end) { if (arguments.length < 1) { begin = 0; end = this.length; } else if (arguments.length < 2) { end = this.length;
Array.prototype.sliceWhere = function(predicate) var slice = []; for (var i = 0; i < this.length; i++) if (predicate(this[i])) slice.push(this[i]); return slice; Array.prototype.filter = Array.prototype.sliceWhere;