将类数组转换为数组

一、利用数组slice方法

[].slice.call(arguments);

原理:Array.prototype.slice的实现原理

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;
}

二、利用ES6新增的Array.from(),此方法可以将类数组和可遍历(具有iterator接口)对象转换为数组

var args=Array.from(arguments);

三、利用扩展运算符(...),此方法是利用扩展运算符能将数组转换为用逗号分隔的参数序列

var args=[...arguments];

脚本宝典为你提供优质服务
脚本宝典 » 将类数组转换为数组

发表评论

提供最优质的资源集合

立即查看 了解详情