稀疏数组:稀疏数组就是包含从0开始的不连续索引的数组。稀疏数组的length属性值大于元素的个数
创建数组
var arr = [];
// 使用构造函数
var arr = new Array();
数组元素的添加和删除
a.push() 在数组末尾增加一个或多个元素
a.pop() 减少长度1并返回被删除元素的值
a.unshift() 在数组首部插入一个元素
a.shift() 从数组头部删除一个元素
----
delete a[1] 删除指定索引的数组元素,不会影响数组长度
splice() 插入,删除或替换数组元素
数组遍历
for循环遍历
forEach()
常用方法[只列举,不详述]:
ECMASCRIPT 6
扩展运算符(...)
Array.from() 用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)
Array.of() 用于将一组值,转换为数组
数组实例的 copyWithin()
在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。
Array.prototype.copyWithin(target, start = 0, end = this.length)
它接受三个参数。
- target(必需):从该位置开始替换数据。如果为负值,表示倒数。
- start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。
- end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。
这三个参数都应该是数值,如果不是,会自动转为数值。
数组实例的find()
用于找出第一个符合条件的数组成员
数组实例的findIndex()
返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1
。
indexOf
方法无法识别数组的NaN
成员,但是findIndex
方法可以借助Object.is
方法做到。
数组实例的fill() 使用给定值,填充一个数组。
数组实例的entries() 用于遍历数组 对键值对的遍历 可以用for...of
循环进行遍历
数组实例的keys() 用于遍历数组 对键名的遍历 可以用for...of
循环进行遍历
数组实例的values() 用于遍历数组 对键值的遍历 可以用for...of
循环进行遍历
数组实例的includes() 某个数组是否包含给定的值,与字符串的includes
方法类似
ECMASCRIPT 5
Array.forEach() 遍历数组,为每个元素调用指定的函数。
map() 将调用的数组的每个元素传递给指定的函数,并返回一个数组,它包含该函数的返回值
fifter() 返回的数组元素是调用的数组的一个子集
every() 数组的逻辑判定:对数组元素应用指定的函数进行判定,返回true或false【当且仅当针对数组中的所有元素调用判定函数都返回true,他才返回true】
some() 数组的逻辑判定:对数组元素应用指定的函数进行判定,返回true或false【当数组中至少有一个元素调用判定函数返回true,他就返回true,并且当且仅当数值中的所有元素调用判定函数都返回false,他才返回false】
reduce(()=>{},0) 使用指定的函数将数组元素进行组合,生成单个值
reduceRight() 使用指定的函数将数组元素进行组合,生成单个值
indexOf() 搜索整个数组中具有给定值的元素,返回找到的第一个元素的索引或者如果没有找到就返回-1。从头至尾搜索
lastIndexOf() 搜索整个数组中具有给定值的元素,返回找到的第一个元素的索引或者如果没有找到就返回-1。从尾至头搜索
Array.isArray() 判断是否是数组类型
ECMASCRIPT 3
join() 将数组中所有元素都转化为字符串并连接在一起{Array.join()是String.split()的逆向操作}
reverse() 将数组中的元素颠倒顺序,返回逆序的数组 改变原数组
sort() 将数组中的元素排序并返回排序后的数组
concat() 创建并返回一个新数组,它的元素包括调用concat()的原始数组的元素和concat()的每个参数
slice(a,b) 返回指定数组的一个片段或子数组
splice() 插入,删除元素 修改原数组
push() 在数组尾部添加一个或多个元素,并返回数组新的长度 修改原数组
pop() 删除数组的最后一个元素,减小数组长度并返回他删除的值 修改原数组
unshift() 在数组头部添加一个或多个元素
shift() 删除数组第一个元素并将其返回
toString() 将每个元素转化为字符串