Nodejs Array Flatten flatten()

Here you can find the source of flatten()

Method Source Code

Array.prototype.flatten = function () {
    var thisArr = this;
    var newArr  = [];
    recursive(thisArr);//w  w w.ja v a2 s  .  c om

    function recursive (arr) {
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] instanceof Array) {
                recursive(arr[i]);
            } else {
                newArr.push(arr[i]);
            }
        }
    }

    return newArr;
};

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());

Related

  1. flatten()
    Array.prototype.flatten = function() {
        return this.inject([], function(array, value) {
          if (DiaFluxUtils.isArray(value))
            return array.concat(value.flatten());
          array.push(value);
          return array;
        });
    
  2. flatten()
    Array.prototype.flatten = function(){
      return this.reduce(function(flat, val, i, hilly){
        Array.isArray(val) ? flat.concat(val.flatten()) : flat.concat(val);
      }, []);
    
  3. flatten()
    Array.prototype.flatten = function () {
        var result = [];
        function flatten(elements, output) {
            elements.forEach(function (element) {
                if (!(typeof element === 'object' || typeof element === typeof Array)) {
                    output.push(element);
                else {
                    flatten(element, output);
    ...
    
  4. flatten()
    Array.prototype.flatten = function() {
        return Array.prototype.concat.apply([], this);
    
  5. flatten()
    Array.prototype.flatten = function() {
        var resultArray = [];
        function getValues(array) {
            var i;
            for (i = 0; i < array.length; i += 1) {
                var value = array[i];
                if (Array.isArray(value)) {
                    getValues(value);
                } else {
    ...
    
  6. flatten()
    "use strict";
    Array.prototype.flatten = function () {
        var result = [];
        function getValues(array) {
            var i;
            for (i = 0; i < array.length; i++) {
                var value = array[i];
                if (Array.isArray(value)) {
                    getValues(value);
    ...
    
  7. flatten()
    var array;
    Array.prototype.flatten = function () {
        'use strict';
        var resultArray = [];
        function getValues(array) {
            var i,
                value;
            for (i = 0; i < array.length; i += 1) {
                value = array[i];
    ...
    
  8. flatten()
    Array.prototype.flatten = function() {
        var resultArray = [];
        function getValues(array) {
            var i;
            for (i = 0; i < array.length; i += 1) {
                var value = array[i];
                if (Array.isArray(value)) {
                    getValues(value);
                } else {
    ...
    
  9. flatten()
    Array.prototype.flatten = function () {
        var arrayResult = [];
        flatten(this);
        function flatten(array) {
            var length = array.length;
            for (var i = 0; i < length; i++) {
                var element = array[i];
                if (Array.isArray(element)) {
                    flatten(element);
    ...