JS中内置构造函数Array( )

74 阅读2分钟

有关数组的概念:

1.关联数组:给正常数组添加以命名索引的元素,命名索引元素存放在属性集合集区域,数字索引元素存放在数组元素存放区域;当数组的方法遍历数组时,只会遍历数字索引存放区域的元素,不会遍历命名索引存放区域的元素。

2.稀疏数组:**包含有空元素项的数组称为稀疏数组,**空元素项称为空槽;旧数组方法是直接跳过空槽,不执行当前项的回调函数,新数组方法通常都是把空槽当作undefined来执行当前项的回调函数,如:fill()、find()、from()、keys()、values()、entries()、includes()、join()(其内部是调用的toString())、toLocaleString()

3.修改length属性值会改变数组原有长度:所赋值大于原有长度会增加数组长度,增加的元素项用空槽填充;所赋值小于数组长度,则会删除多余的数组元素项。

4.数组的复制方法创建新数组,不会改变原数组,所有复制方法创建的数组都是浅拷贝;修改原始数组的方法也有对应不修改原数组、只生成新数组的方法(toSort()、toRevered()、toSpliced());

5.所有迭代方法都是复制方法通用方法,尽管它们在处理空槽时的行为不同。

6.通用数组方法:数组方法总是通用的,它们不访问数组对象的任何内部数据。它们只通过 length 属性索引访问数组元素这意味着它们也可以在类数组对象上调用

7.类数组对象:具有 length 属性,并且索引元素的范围在 0length - 1 之间。(如果它没有所有的索引,它将在功能上等同于稀疏数组。)

调用 Array() 时可以使用或不使用 new。两者都会创建一个新的 Array 实例。

【金山文档】 数组最终整理笔记 kdocs.cn/l/csWAIhA8y…