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()
var outputArray = [];
Array.prototype.flatten = function (){
    function getValues(array){
        var i;
        for (i = 0; i < array.length; i += 1){
            var value = array[i];
            if (Array.isArray(value)){
                getValues(value);
            else{
                outputArray.push(value);
    getValues(this);
    return outputArray;
var array = [0, ["string", "values"], 5.5, [[1, 2, true], [3, 4, false]], 10];
console.log(array.flatten());
flatten()
function flatten (arrays, call) {
  call = call + 1 || 0;
  if(arrays.length === 0 && !call) return null;
  return arrays.reduce(function(flat, cur){
    if(!Array.isArray(cur)) return flat.concat(cur);
    return flat.concat(flatten(cur, call));
  }, []);
Array.prototype.flatten = function(){
...
flatten()
Array.prototype.flatten = function() {
    var newArray = [];
    function extractValues( arr ) {
        for (var i = 0, len = arr.length; i < len; i++) {
            var val = arr[ i ];
            if (val instanceof Array) {
                extractValues( val );
            } else {
                newArray.push( val );
...
flatten()
isArray =  function(obj) {
    return toString.call(obj) === '[object Array]';
};
var flatten = function(arr) {
    return arr.reduce(function(memo, value) {
        if (isArray(value)) {
            return memo.concat(flatten(value));
        else {
...
flatten()
Array.prototype.flatten = function(){
    var flattenedArray = [];
    function flattenArrays(arr) {
        for (var i = 0; i < arr.length; i++) {
            var currentValue = arr[i];
            if(Array.isArray(currentValue)){
                flattenArrays(currentValue);
            }else{
                flattenedArray.push(currentValue);
...
flatten()
Array.prototype.flatten = function() {
  var merged = []
  return merged.concat.apply(merged, this)
flatten()
Array.prototype.flatten = function() {
  var resultArr = [];
  function getArrays (arr) {
    for (var i = 0; len = arr.length, i < len; i += 1) {
      var value = arr[i];  
      if (Array.isArray(value)) {
        getArrays(value);
      } else {
        resultArr.push(value);
...
flatten()
var array = [1,[4], [9, 16, 25], [36, 49, [64, 81]], [100, [121, 144, [169]]], [196, [225, [256, 289, [324, [361, 400]]]]]];
Array.prototype.flatten = function() {
    var ret = [];
    for(var i = 0; i < this.length; i++) {
        if(Array.isArray(this[i])) {
            ret = ret.concat(this[i].flatten());
        } else {
            ret.push(this[i]);
    return ret;
};
function isSquare(arr){
  result = arr.flatten();
  for(var i = 0; i<result.length; i++){
    if(Math.sqrt(result[i]) % 1 != 0){
      return false; 
  return true;
debug(isSquare(array));
flatten()
Array.prototype.flatten = function(){
  return flatten(this);
};
function flatten(arr) {
  return arr.reduce(function (flat, toFlatten) {
    return flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten);
  }, []);
console.log(flatten([[1,2],[3,4]]));
...
flatten()
'use strict';
Array.prototype.flatten = function() {
    var resultArray = [];
    for (var i = 0; i < this.length; i++) {
        if (this[i] instanceof Array) {
            resultArray = resultArray.concat(this[i].flatten());
        } else {
            resultArray.push(this[i]);
    return resultArray;
};
var array = [1, 2, 3, 4];
console.log(array.flatten());
var array = [1, 2, [3, 4], [5, 6]];
console.log(array.flatten());
console.log(array); 
var array = [0, ["string", "values"], 5.5, [[1, 2, true], [3, 4, false]], 10];
console.log(array.flatten());