偽陣列和真陣列的區分

2021-08-22 16:33:14 字數 642 閱讀 8682

/*

* 什麼是偽陣列:

* 1、偽陣列是乙個物件

* 2、這個物件必須要有length屬性

* 3、如果這個物件的length不為0,那麼必須要有按照下標儲存的資料

* */

// 不是偽陣列

var obj = {};

var obj2 = ;

// 是偽陣列

var obj3 = ;

var obj4 = ;

var obj5 =

/** 如何判斷資料是不是偽陣列:

* 1、不是物件直接乾掉

* 2、是物件,沒有length屬性也乾掉

* 3、有length,值必須是number型別

* 4、length值是number型別,並且值不為0,這個物件還得按照下標儲存資料

* */

/** 如何判斷資料是不是真陣列:

* 1、資料 instanceof array

* 2、object.prototype.tostring.call( 資料 ) === '[object array]'

* */

/** 偽陣列轉標準陣列:

* array.prototype.slice.call( 資料 ) 

* */

偽陣列和真陣列

什麼是偽陣列 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...