JS进阶篇-伪数组

什么是伪数组:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容