Here you can find the source of concat()
Array.prototype.concat = function(){ var result = []; this.forEach(function(subArray){ result.push.apply(result, subArray); });/*from w ww . j av a 2 s . c o m*/ return result; } var a = [[2,3,4,5],[11,2,333],[33,232,21]]; a.concat(); var a = [1,22,34,4,66]; Math.max.apply(null,a); // works beacuse it gives it as a[0],a[1] etc but Math.max.call(null,a) // NaN. Because call cannot split it as a[0],a[1], hence a is intrepreted as whoe array and Not a Number
Array.prototype.concat = function(ar) { var results = new Array(this.length + ar.length); for (var i = 0, len = this.length; i < len; i++) { results[i] = this[i]; for (var i = 0, len = ar.length; i < len; i++) { results[len + i] = ar[i]; return results; ...
var my_array=Array.prototype.concat; Array.prototype.concat=function (arg) { var result = arg[0]; for (var i = 1; i < arg.length; i++) { result += "-" + arg[i]; console.log(result); var piyo=new Array(100,200,300); ...
Array.prototype.concatAll = function() { var results = []; this.forEach(function(subArray) { results.push.apply(results, subArray); }); return results; };
Array.prototype.concatAll = function() { var results = []; this.forEach(function(subArray) { subArray.forEach(function(item) { results.concat(item); }); }); return results;