Here you can find the source of flatten()
Array.prototype.flatten = function() { var originalArray = this; var newArray = []; var i = 0;//from w w w . j a v a 2 s. co m var j = 0; var element; var temp; for (i = 0; i < originalArray.length; i+=1) { element = originalArray[i]; if (element.constructor !== Array) { newArray.push(element); } else { temp = element.flatten(); for (j = 0; j < temp.length; j++) { newArray.push(temp[j]); } } } return newArray; } var array; array = [1, 2, 3, 4]; console.log(array.flatten()) array = [1, 2, [3, 4], [5, 6]]; console.log(array.flatten()); console.log(array); // Not changed array = [0, ["string", "values"], 5.5, [[1, 2, true], [3, 4, false]], 10]; console.log(array.flatten());
Array.prototype.flatten = function(){ var flat_array = []; for(var i = 0; i < this.length; i++){ if (this[i].constructor == Array){ this[i] = this[i].flatten(); flat_array = flat_array.concat(this[i]); else { flat_array.push(this[i]); } return flat_array;
Array.prototype.flatten = function() { var results = []; for (var i = 0, len = this.length; i < len; i++) { if (typeof this[i] == "object" && this[i].constructor === Array) { results = results.concat(this[i].flatten()); } else { results.push(this[i]); return results; }; Array.prototype.flatten = function() { var results = []; for (var i = 0, len = this.length; i < len; i++) { results = results.concat(Object.isArray(this[i]) ? this[i].flatten() : [this[i]]); return results; }; Array.prototype.flatten = function() { return this.inject([], function(array, value) { return array.concat(Object.isArray(value) ? value.flatten() : [value]); }); };
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 { ...
Array.prototype.flatten = function() { var toString = Object.prototype.toString; var arrayTypeStr = '[object Array]'; var result = []; var nodes = this.slice(); var node; if (!this.length) { return result; node = nodes.pop(); do { if (toString.call(node) === arrayTypeStr) { nodes.push.apply(nodes, node); } else { result.push(node); } while (nodes.length && (node = nodes.pop()) !== undefined); result.reverse(); return result;
Array.prototype.flatten = function() { var originalArray = this, newArray = [], i = 0, j = 0, element, temp; for (i = 0; i < originalArray.length; i+=1) { element = originalArray[i]; ...
Array.prototype.flatten = function() { var resultArray = []; innerFlatten(this); function innerFlatten(arr) { arr.forEach(function(el) { if(Array.isArray(el)) { innerFlatten(el); } else { resultArray.push(el); ...
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} ] ...
Array.prototype.flatten = function(){ var result = []; this.forEach(function(x) { result = result.concat(x); }); return result; };
Array.prototype.flatten = function () { return this.reduce((p,c) => p.concat(c), [])