伪数组转真数组
- 注意点:如果需要将伪数组转成真数组/伪数组都需要先将伪数组转成真数组,然后再用真数组转成伪数组
//方法一
function sum() {
//函数中的'arguments'就是伪数组
let arr = [];
[].push.apply(arr, arguments);//方法缺陷,无法兼容ie8及以下
return arr
}
let res = sum(1, 2)
console.log(res);//[1.2]
//方法二
function sum() {
//函数中的'arguments'就是伪数组
let arr = [].slice.call(arguments);//数组的slice方法
return arr
}
let res = sum(1, 2)
console.log(res);//[1,2]
真数组转伪数组
let temArr = [1, 2, 1, 2];
let obj = {};
[].push.apply(obj, temArr);
console.log(obj);//{0: 1, 1: 2, 2: 1, 3: 2, length: 4}