Here you can find the source of flatten()
Array.prototype.flatten = function() { function getArrayElements(array, result) { if(!result) { result = [];// ww w.j av a2 s. c o m } for (var i=0; i<array.length; i++) { if(Array.isArray(array[i])) { getArrayElements(array[i], result); }else { result.push(array[i]); } } return result; } return getArrayElements(this); } var array = [1, 2, 3, 4]; console.log(array.flatten()); var array = [1, 2, [3, 4], [5, 6]]; console.log(array.flatten()); var array = [0, ["string", "values"], 5.5, [[1, 2, true], [3, 4, false]], 10]; console.log(array.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());
Array.prototype.flatten = function() { var result = []; function checkForArrays(arr) { arr.forEach(function(el) { if (Array.isArray(el)) { checkForArrays(el); }else { result.push(el); }) checkForArrays(this); return result; }; var array = [1, 2, 3, 4]; console.log(array.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) }, [])
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 { ...
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 { ...
Array.prototype.flatten = function() { return this.inject([], function(array, value) { if (DiaFluxUtils.isArray(value)) return array.concat(value.flatten()); array.push(value); return array; });
Array.prototype.flatten = function(){ return this.reduce(function(flat, val, i, hilly){ Array.isArray(val) ? flat.concat(val.flatten()) : flat.concat(val); }, []);
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); ...
Array.prototype.flatten = function() { return Array.prototype.concat.apply([], this);