js將偽陣列轉成真陣列

2021-10-12 17:31:26 字數 768 閱讀 9894

所謂偽陣列,當乙個物件具有以下特點:

可以使用索引對資料進行操作;

具有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...