数组创建
Array.of()
将参数中的所有值构建成数组元素形成数组,当参数为空时返回一个空数组。如下图
注意:参数值可以为不同类型
Array.from(arrayLike[, mapFn[, thisArg]])
将类数组对象或可迭代对象转化为数组并且返回。如果由空位则会用undefined表示,如下图
参数详解- arrayLike 想要转换的类数组对象或可迭代对象。
- mapFn 可选,map 函数,用于对每个元素进行处理,放入数组的是处理后的元素。
- thisArg 可选,用于指定 map 函数执行时的 this 对象。
转换可迭代对象
-
转换 map
-
转换 set
-
转换字符串
扩展的方法
-
查找
find()
查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素。数组空位将处理为undefined。如下图
findIndex()
查找数组中符合条件的元素索引,若有多个符合条件的元素,则返回第一个元素索引。数组空位将处理为undefined。如下图
-
填充
fill()
将一定范围索引的数组元素内容填充为单个指定的值。如下图
参数1:用来填充的值
参数2:被填充的起始索引
参数3(可选):被填充的结束索引,默认为数组末尾
copyWithin()
将一定范围索引的数组元素修改为此数组另一指定范围索引的元素。
参数1:被修改的起始索引
参数2:被用来覆盖的数据的起始索引
参数3(可选):被用来覆盖的数据的结束索引,默认为数组末尾
-
遍历
-
entries()
遍历键值对。数组空位将处理为undefined。如下图
-
keys()
遍历下标。数组空位将处理为undefined。如下图
-
values()
遍历值。数组空位将处理为undefined。如下图
-
-
包含
includes()
数组是否包含指定值。如下图
参数1:包含的指定值
参数2:可选,搜索的起始索引,默认为0
-
嵌套数组转一维数组
flat()
使用方法如下图
注意要点:- 自动跳过空位
- 可以使用 Infinity 忽略层数
扩展运算符
可以使用 ...
进行在、数组复制以及合并数组,数组空位将处理为undefined。如下图
类数组对象
一个类数组对象必须含有 length 属性,且元素属性名必须是数值或者可转换为数值的字符。
注意要点:
- 如果没有length则返回空数组。
- 元素属性名不为数值且无法转换为数值,则会返回长度为 length 元素值为 undefined 的数组。
- 类数组对象的属性名存在隐式转换。
- 返回出来的数组会根据length的值来构造数组。