array-like只是具有array对象一样的length,index等属性,但是不是真正的array对象,没有concat之类的函数。
可以使用下面的这个函数给Array添加一个:
Array.prototype.concatOther = function(){
var newArray = (this instanceof Array)? this : [];
for(var i=0;i<arguments.length;i++){
newArray.unshift.apply(newArray,arguments[i]);
}
return newArray;
};
使用的时候:
Array.prototype.concatOther(arraylike1,arraylike2,......);
或者
["a"].concatOther(arraylike1,arraylike2,......);