在JavaScript中如何將類數組對象轉爲真實數組

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);
相關文章
相關標籤/搜索