類數組 什麼是類數組? 定義: 擁有length屬性,其屬性(索引)為非負整數 不具有數組的所具有的方法 類數組與非類數組的比較 類數組: 非類數組: 沒有length屬性,所以就不是類數組。 javascript中常見的類數組有arguments對象和DOM方法的返回結果。 比如 document ...
類數組
什麼是類數組?
定義:
- 擁有length屬性,其屬性(索引)為非負整數
- 不具有數組的所具有的方法
類數組與非類數組的比較
類數組:
1 var obj = { 2 0 : "a", 3 1 : "第二", 4 4 : "1234", 5 length : 3 6 }; 7 console.log(obj);
非類數組:
1 var obj = { 2 0 : "a", 3 1 : "第二", 4 4 : "1234" 5 };
沒有length屬性,所以就不是類數組。
javascript中常見的類數組有arguments對象和DOM方法的返回結果。
比如 document.getElementsByTagName()。
類數組對象轉化為數組:
有時候使用類數組最好的方式就是轉化為數組
可以通過splice方法區轉換。
1 var obj = { 2 0 : "a", 3 1 : "第二", 4 4 : "1234", 5 length : 4, 6 splice : Array.prototype.splice, 7 }
這時就可以使用數組的方法,
例如
var obj = { 0 : "a", 1 : "第二", 4 : "1234", length : 4, push : Array.prototype.push, splice : Array.prototype.splice } obj.push("這是新加的");
要註意的是,如果調用push方法,會動態的去改變length的長度,並且會在已有長度上進行屬性的擴展。