Gcalolin 2019-06-27
1.JavaScript中有哪些类数组对象(伪数组)
(1)arguments 函数的实参
function test() { return arguments; } let arg = test(1,4,7,4,3,6,4); console.log(arg);
(2)set 结构
new Set([2,5,6,3,4,3,6,6]);
(3)nodeList
document.getElementsByTagName('div');
2.将类数组对象转为真实数组(以上文arguments对象为例, arg)
(1)遍历类数组元素, 并push进一个新数组
let newArr = []; for(let i=0; i<arg.length; i++) { newArr.push(arg[i]); }
(2)数组实例上的slice方法, 在不接受任何参数的情况下是复制一个数组, 再利用call(或apply)调用slice方法, 可以实现将类数组对象转为真实数组
Array.prototype.slice.call(arg); [].slice.call(arg);
(3)Array.from()方法, 可以将任何具有length属性的对象转为数组
Array.from(arg);
(4)扩展运算符..., 可以将所有布署了Iterator接口的对象转为数组
[...{length: 3}];
(5)jQuery的核心方法$.makeArray()
$.makeArray(arg);