将类数组转换为数组

一、利用数组的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];
    原文作者:Mrs_nn
    原文地址: https://segmentfault.com/a/1190000015937219
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞