问答题619/1593怎么把函数中的 arguments 转成数组?

难度:
2022-08-07 创建

参考答案:

函数中的 arguments 是一个对象,不是一个数组,严格来说它是一个类数组对象。

1、调用数组的原型方法来转换

1var foo = function(a,b){ 2 var arr = Array.prototype.slice.call(arguments); 3 console.log(arr) 4} 5foo(1,2) //(2) [1, 2]

2、使用ES6的新语法 Array.from() 来转换

Array.from 方法用于将两类对象转为真正的数组:类似数组的对象和可遍历对象(包括Set和Map)。

1var foo = function(a,b){ 2 var arr = Array.from(arguments); 3 console.log(arr) 4} 5foo(1,2) // (2) [1, 2]

3、使用 for

使用 for 循环挨个将 arguments 对象中的内容复制给新数组中

1function toArray(){ 2 var args = []; 3 for (var i = 1; i < arguments.length; i++) { 4 args.push(arguments[i]); 5 } 6 return args; 7}

4、利用 ES6 中的 rest 参数转换

1let a = (…args) => args;

最近更新时间:2024-08-10

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!