JS进阶篇-伪数组

2019-07-24  本文已影响0人  艾萨克菊花

什么是伪数组:

1、伪数组是一个对象;

2、这个对象必须有length属性;

3、如果这个对象的length不为0,那么必须要有按照下标存储的数据。

var obj = {};    // 非伪数组

var obj1 = {length: 10};    // 非伪数组

var obj2 = {length: 0};    // 伪数组

var obj3 = {0: '123', length: 1};    // 伪数组

var obj4 = {99: '123', length: 100};    // 伪数组

如何判断数据是不是伪数组:

1、首先伪数组是一个对象;

2、有 length 属性;

3、length 属性必须是 number 类型;

4、length 的值是 number 类型,并且值不为 0,这个对象需要按照下标存储数据。

如何判断数据是不是真数组:

1、数据 instanceof Array

2、Object.prototype.toString.call(数据) === '[object Array]'

伪数组如何转换为真数组:

1、Array.prototype.slice.call(数据)

2、声明一个空数组,通过遍历伪数组把它们重新添加到新的数组中

 想了解JS判断数据类型的请看这里:https://www.jianshu.com/p/af835141b683

上一篇 下一篇

猜你喜欢

热点阅读