什么是偽數(shù)組:
1罗丰、偽數(shù)組是一個對象;
2再姑、這個對象必須有l(wèi)ength屬性萌抵;
3、如果這個對象的length不為0元镀,那么必須要有按照下標(biāo)存儲的數(shù)據(jù)绍填。
var obj = {};? ? // 非偽數(shù)組
var obj1 = {length: 10};? ? // 非偽數(shù)組
var obj2 = {length: 0};? ? // 偽數(shù)組
var obj3 = {0: '123', length: 1};? ? // 偽數(shù)組
var obj4 = {99: '123', length: 100};? ? // 偽數(shù)組
如何判斷數(shù)據(jù)是不是偽數(shù)組:
1、首先偽數(shù)組是一個對象凹联;
2沐兰、有 length 屬性;
3蔽挠、length 屬性必須是 number 類型住闯;
4、length 的值是 number 類型澳淑,并且值不為 0比原,這個對象需要按照下標(biāo)存儲數(shù)據(jù)。
如何判斷數(shù)據(jù)是不是真數(shù)組:
1杠巡、數(shù)據(jù) instanceof Array
2量窘、Object.prototype.toString.call(數(shù)據(jù)) === '[object Array]'
偽數(shù)組如何轉(zhuǎn)換為真數(shù)組:
1、Array.prototype.slice.call(數(shù)據(jù))
2氢拥、聲明一個空數(shù)組蚌铜,通過遍歷偽數(shù)組把它們重新添加到新的數(shù)組中
?想了解JS判斷數(shù)據(jù)類型的請看這里:http://www.reibang.com/p/af835141b683