Here you can find the source of extend(other)
Array.prototype.extend = function (other) { //TODO: do a concat instead? other.forEach(function(v) {this.push(v)}, this); };
Array.prototype.extend = function(arr) { this.push.apply(this, arr); return this;
Array.prototype.extend = function(array)
this.push.apply(this, array)
Array.prototype.extend = function(array){ for (var j = array.length-1; j >= 0; j--) this.unshift(array[j]); return this; };
Array.prototype.extend = function(array) { for (var i = 0; i < array.length; i++) { this.push(array[i]);
Array.prototype.extend = function (newItems) { return this.push.apply(this, newItems); };
Array.prototype.extend = function(other_array) { other_array.forEach(function(v) { this.push(v) }, this);
Array.prototype.extend = function(other_array) { if(other_array.constructor !== Array) throw other_array + ' is not an array.'; other_array.forEach(function(v) { this.push(v) }, this);
Array.prototype.extend = function(source) { for (var attr in source) { if (Object.prototype.toString.call(source[attr]).slice(8, -1).toLowerCase() === 'array') { this[attr] = []; this[attr].extend(source[attr]); } else { this[attr] = source[attr];