將類數組轉換爲數組

1、利用數組的slice方法數組

[].slice.call(arguments);

原理:Array.prototype.slice的實現原理this

Array.prototype.slice=function(start,end){
    var result=new Array();
    start=start||0;
    end=end||this.length;//在此處利用call改變this,this變成arguments
    for(var i=start;i<end;i++;){
        result.push(this[i]);
    }
    return result;
}

2、利用ES6新增的Array.from(),此方法能夠將類數組和可遍歷(具備iterator接口)對象轉換爲數組prototype

var args=Array.from(arguments);

3、利用擴展運算符(...),此方法是利用擴展運算符能將數組轉換爲用逗號分隔的參數序列code

var args=[...arguments];
相關文章
相關標籤/搜索