Nodejs Array Flatten flatten()

Here you can find the source of flatten()

Method Source Code

Array.prototype.flatten = function(){
   return this.reduce(function(flat, val, i, hilly){
      Array.isArray(val) ? flat.concat(val.flatten()) : flat.concat(val);
   }, []);//from  w  ww .  ja  va  2s .c  o  m
}

Related

  1. flatten()
    function flatten (ary) {
      var ret = []
      for (var i = 0; i < ary.length; i++) {
        if (Array.isArray(ary[i])) {
          ret = ret.concat(flatten(ary[i]))
        } else {
          ret.push(ary[i])
      return ret
    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 flattenReduce (ary) {
      return ary.reduce(function (a, b) {
        if (Array.isArray(b)) {
          return a.concat(flattenReduce(b))
        return a.concat(b)
      }, [])
    
  2. flatten()
    Array.prototype.flatten = function (){
        var array = this;
        var newArray = [];
        recursive(array);
        function recursive (arr){
            for (var i = 0; i < arr.length; i++) {
                if (arr[i] instanceof Array) {
                    recursive(arr[i]);
                } else {
    ...
    
  3. flatten()
    Array.prototype.flatten = function(){
        var array = this;
        var processedArray = [];
        for(var i = 0; i < array.length; i++){
            if(array[i] instanceof Array){
                var subArray = array[i].flatten();
                processedArray.push.apply(processedArray,subArray);
            else {
    ...
    
  4. flatten()
    Array.prototype.flatten = function() {
        function getArrayElements(array, result) {
            if(!result) {
                result = [];
            for (var i=0; i<array.length; i++) {
                if(Array.isArray(array[i])) {
                    getArrayElements(array[i], result);
                }else {
    ...
    
  5. 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;
        });
    
  6. 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);
    ...
    
  7. flatten()
    Array.prototype.flatten = function() {
        return Array.prototype.concat.apply([], this);
    
  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 thisArr = this;
        var newArr  = [];
        recursive(thisArr);
        function recursive (arr) {
            for (var i = 0; i < arr.length; i++) {
                if (arr[i] instanceof Array) {
                    recursive(arr[i]);
                } else {
    ...