函数的arguments是伪数组,可以通过以下三种方式来转成数组,分别是遍历转,slice(ES5)转,ES6新方法转
function foo() {
let arr = []
//1. 遍历转
for(let i = 0; i < arguments.length; i++){
arr.push(arguments[i])
}
//2. slice转
let arr1 = Array.prototype.slice.call(arguments);
let arr2 = [].slice.call(arguments);
//3. ES6新方法转
let arr3 = Array.from(arguments);
let arr4 = [...arguments];
console.log(arr, arr1, arr2, arr3, arr4);
}
foo(1, 2, 3, 4, 5);