Nodejs Utililty Methods Array Flatten

List of utility methods to do Array Flatten

Description

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

Method

flatten()
Array.prototype.flatten = function(){
    var flattenArray = [];
    for (var el in this) {
        var currElement = this[el];
        if (Object.prototype.toString.call(currElement) === '[object Array]' ) {
            for (var i in currElement) {
                flattenArray.push(currElement[i]);
        } else {
...
flatten()
var slice = Array.prototype.slice;
Array.prototype.flatten = function () {
  var obj, result = [];
  for (var i = 0, l = this.length; i < l; ++i ) {
    obj = this[ i ];
    if ( Array.isArray( obj ) ) {
      result = result.concat( obj.flatten() );
    } else {
      result[ result.length ] = obj;
...
flatten()
Array.prototype.flatten = Array.prototype.flatten || function() {
  'use strict';
  var that = this;
  for (var i = 0; i < that.length; i += 1) {
    if (Array.isArray(that[i])) {
      that = that.concat.apply([], that);
      i -= 1;
  return that;
};
Array.prototype.flatten1 = Array.prototype.flatten1 || function() {
  'use strict';
  var res = [];
  (function flatten(arr) {
    for (var i = 0; i < arr.length; i += 1) {
      if (Array.isArray(arr[i])) {
        flatten(arr[i]);
      } else {
        res.push(arr[i]);
  }(this));
  return res;
};
Array.prototype.flatten2 = Array.prototype.flatten2 || function() {
  'use strict';
  for (var i = 0; i < this.length; i += 1) {
    if (Array.isArray(this[i])) {
      this.splice.apply(this, [i, 1].concat(this[i].flatten()));
  return this;
};
var a = [1, 2, [3, 4, [5, 6]]];
console.log(a.flatten()); 
console.log(a); 
console.log(a.flatten1()); 
console.log(a); 
console.log(a.flatten2()); 
console.log(a); 
flatten()
var arrays = [[1, 2, 3], [4, 5], [6]];
console.log(arrays.reduce(function(a, b){
  return a.concat(b);
}));
Array.prototype.flatten = function(){
  return this.reduce(function(a, b){
    if(!Array.prototype.isPrototypeOf(a))
      a = [a];
    else
...
flatten(array)
Array.prototype.flatten = function(array) {
  return this.reduce((prev, next) => prev.concat(next), []);
};
flatten(func)
Array.prototype.flatten = function (func) {
  var result = [];
  forEach(this, function (element) {
    forEach(func(element), function (child) {
      result.push(child);
    });
  });
  return result;  
flatten(nil)
Array.prototype.flatten = function(nil){
    result = new Array();
    for(var i = 0; i < this.length; i++){
  item = this[i];
  if($.isArray(item)) for(var j = 0; j < item.length; j++) result.push(item[j]);
  else result.push(item);
    return result;
};
...
flatten(prevous)
Array.prototype.flatten = function(prevous) {
  var flattenedArr = prevous || [];
  for (var i = 0; i < this.length; i++) {
    if(Array.isArray(this[i])) {
      this[i].flatten(flattenedArr);
    } else if(this[i] === null) {
    } else {
      flattenedArr.push(this[i]);
  return flattenedArr;
flattenArray()
function flattenArray(a, b) {
  return a.concat(b);
Array.prototype.flattenArray = function() {
  return this.reduce(flattenArray);
var arrays = [[1, 2, 3], [4, 5], [6]];
console.log(arrays.flattenArray());
flattenArray()
Array.prototype.flattenArray = function() {
  var flatArray = arrays.reduce(function(a, b) {
  return a.concat(b);
}, []);
console.log(flatArray);
return "";
var arrays = [[1, 2, 3], [4, 5], [6]];
console.log(arrays.flattenArray())
...