arguments转化成Array数组的方法

摘要:简单说一下arguments,arguments 就是函数内一个內建对象,它包含函数接收到的所有变量;所以,在实际开发中,我们使用arguments可以很方便的获取到所有的实参,并且也需要对其使用是写数组的方法

关于arguments转化成Array数组的方法,简单总结了5种方法

具体方法如下:

简单说一下arguments,arguments 就是函数内一个內建对象,它包含函数接收到的所有变量;所以,在实际开发中,我们使用arguments可以很方便的获取到所有的实参,并且也需要对其使用是写数组的方法。它与数组一样有索引以及length的属性。但是却不能使用数组的方法。  


1,比较常用的方法

function transformsArrs() {
     var arr = [];
    for (var i = 0; i < arguments.length; i++) {
        arr.push(arguments[i]);
    }
    return arr;
}

2.Array.prototype.slice.call();

function transformsArrs() {
    console.log(arguments instanceof Array); // false 
    var argsArray = Array.prototype.slice.call(arguments);
    console.log(argsArray instanceof Array); // true 
}


3.扩展运算符,因为它是一个对象

function transformsArrs() {
    console.log(arguments instanceof Array); // false 
    var argsArray = [...arguments ];
    console.log(argsArray instanceof Array); // true 
}

4.Array.from(); ES6里的方法

function transformsArrs() {
    console.log(arguments instanceof Array); // false 
    var argsArray = Array.from(arguments);
    console.log(argsArray instanceof Array); // true 
}


5.[].slice.call(); 和Array.prototype.slice.call();类似,只是一个用的是数组,一个用的是数组原型;

function transformsArrs() {
    console.log(arguments instanceof Array); // false 
    var argsArray = [].slice.call(arguments);
    console.log(argsArray instanceof Array); // true 
}

结束!干脆!利索


本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://shenqiku.cn/article/FLY_7137