所謂偽陣列,當乙個物件具有以下特點:
可以使用索引對資料進行操作;
具有length(長度)屬性;
不能使用陣列的方法,如push,pop等真陣列方法。
真偽陣列區別:
物件沒有陣列的array.prototype 的屬性值,型別是 object ,而陣列型別是 array
陣列是索引,物件是鍵值對
使用物件建立偽陣列,偽陣列可以使用部分方法
方法1:遍歷:建立乙個空陣列,迴圈遍歷偽陣列,將遍歷出的資料逐一放在空陣列中
var newarr =
;// 先建立空陣列
for(
var i =
0; i < arr.length; i++
)newarr.
push
("hello");
console.
log(newarr)
;// hello
var newarr =
;newarr.push.
(newarr, arr)
;
var newarr = array.prototype.slice.
(arr)
;
方法4:利用es6提供的array的from方法
var newarr = array.
from
(arr)
;
偽陣列和真陣列
什麼是偽陣列 1 偽陣列是乙個物件 2 這個物件必須要有length屬性 3 如果這個物件的length不為0,那麼必須要有按照下標儲存的資料 不是偽陣列 var obj var obj2 是偽陣列 var obj3 var obj4 var obj5 如何判斷資料是不是偽陣列 1 不是物件直接乾掉...
偽陣列轉真陣列
123 456 偽陣列 擁有陣列的索引和長度,能夠使用迴圈遍歷,但是不能使用陣列的原型的方法 var arr 3,4,5,6,7 console.log arr var adiv document.queryselectorall div console.log adiv 1.遍歷 var a fo...
偽陣列轉為真陣列
偽陣列 像陣列但是不是陣列,沒有陣列的方法 1 slice.call obj 這個等於array.protype.slice.call obj slice會把通過索引位置獲取新的陣列,該方法不會修改原陣列,只是返回乙個新的子陣列.call會把this的指向改為傳進去的obj var newarr s...