0%
灵魂拷问:类数组转数组的方式你知道多少呢?
方式1: Array.prototype.slice()
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| function arrayLike2Array(arrayLike) { return Array.prototype.slice.call(arrayLike); }
const arrayLike = { '0': 'Katrina', '1': 'Jack', '2': 'Kate', '3': 'Jenny', length: 4 }; const array = arrayLike2Array(arrayLike); console.log(array);
|
方式2:Array.from()
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| function arrayLike2Array(arrayLike) { return [...arrayLike]; }
const arrayLike = { '0': 'Katrina', '1': 'Jack', '2': 'Kate', '3': 'Jenny', length: 4 }; const array = arrayLike2Array(arrayLike); console.log(array);
|
方式3: 拓展运算符
1 2 3 4 5 6 7 8 9 10 11 12
| function arrayLike2Array(arrayLike) { return [...arrayLike]; }
function fn() { console.log(arguments) return [...arguments]; }
const array = fn(1,2,3,4,5,6); console.log(array);
|