Nodejs Utililty Methods Array Slice

List of utility methods to do Array Slice

Description

The list of methods to do Array Slice are organized into topic(s).

Method

slice(index = 0)
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]);
...
slice(index)
Array.prototype.slice = function(index) {
  result = []
  if (typeof index != "number") {
    for (index; index < this.length; index++) {
      result.push(this[index])
  return result
slice(start, end)
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;
...
slice(start, 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;
};
sliceMe(begin, end)
Array.prototype.sliceMe = function (begin, end) {
  if (arguments.length < 1) {
    begin = 0;
    end = this.length;
  } else if (arguments.length < 2) {
    end = this.length;
sliceNonUnique()
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;
};
sliceWhere(predicate)
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;