1.JavaScript中有哪些類數組對象(僞數組)node
(1)arguments 函數的實參數組
function test() { return arguments; } let arg = test(1,4,7,4,3,6,4); console.log(arg);
(2)set 結構app
new Set([2,5,6,3,4,3,6,6]);
(3)nodeList函數
document.getElementsByTagName('div');
2.將類數組對象轉爲真實數組(以上文arguments對象爲例, arg)prototype
(1)遍歷類數組元素, 並push進一個新數組code
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接口的對象轉爲數組ip
[...{length: 3}];
(5)jQuery的核心方法$.makeArray()get
$.makeArray(arg);