Nodejs Array Flatten flatten()

Here you can find the source of flatten()

Method Source Code

Array.prototype.flatten = function () {
   var toReturn = [];
   for (var i = 0, len = this.length; i < len; i++) {
      if (this[i] instanceof Array) {
         toReturn = toReturn.concat(this[i].flatten());
      } else {/*from  ww w  .  j  a v a2  s . co m*/
         toReturn.push(this[i]);
      }
   }
   return toReturn;
};

Related

  1. flatten()
    var exchanges = [
      [
        {symbol: "JNJ", price: 2030.00, volume:48984}, 
         {symbol: "PWC", price: 4340.00, volume:15985}
      ],
      [
        {symbol: "CISC", price: 4563.00, volume:874651},
        {symbol: "KROG", price: 712.00, volume:8949}
      ]
    ...
    
  2. flatten()
    Array.prototype.flatten = function(){
      var result = [];
      this.forEach(function(x) {
        result = result.concat(x);
      });
      return result;
    };
    
  3. flatten()
    Array.prototype.flatten = function () {
        return this.reduce((p,c) => p.concat(c), [])
    
  4. flatten()
    Array.prototype.flatten = function () {
        function flattenArrayOfArrays(array, result) {
            if (!result) {
                result = [];
            for (var i = 0; i < array.length; i++) {
                if (Array.isArray(array[i])) {
                    flattenArrayOfArrays(array[i], result);
                } else {
    ...
    
  5. flatten()
    Array.prototype.flatten = function() {
      return this.reduce(function(res, el) {
        if(el.constructor == Array) {
          el.forEach(function(sub_el) {
            res.push(sub_el);
          })
        } else {
          res.push(el);
        return res;
      }, []);
    
  6. flatten()
    Array.prototype.flatten = function() {
      return this.reduce(function(a,b) {
        return a.concat(b)
      }, [])
    
  7. 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 {
    ...
    
  8. 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;
    ...
    
  9. 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);