数组创建
Array.of()
将参数中所有值作为元素形成数组。
参数值可为不同类型 ,参数为空时返回空数组
Array.from()
将类数组对象或可迭代对象转化为数组。
若参数含空位,则空位处填写undefined
参数:
Array.from(arrayLike[,mapFn[,thisArg]])
返回值为转换后的数组。
arrayLike
想要转换的类数组对象或可迭代对象。
mapFn
可选,map函数,用于对每个元素进行处理,放入数组的是处理后的元素。
thisArg
可选,用于指定map函数执行时的this对象。
类数组对象
一个类数组对象(1)必须含有length属性,且(2)元素属性名必须是数值或者是可转换为数值的字符。
没有length属性,则返回空数组。
元素属性名不为数值且无法转换为数值,返回长度为length 元素值为undefined的数组
//类数组对象 let array_like = { 0:"apple", 1:"banana", length:2 }
转换可迭代对象
转换map,转换set,转换字符串
扩展的方法
查找
find()
查找数组中符合条件的元素,若有多个符合条件的元素,则返回第一个元素。
findIndex()
查找数组中符合条件的元素索引,若有多个符合条件的元素,则返回第一个元素索引。
填充
fill()
将一定范围索引的数组元素内容填充为单个指定的值。
- 参数1:用来填充的值
- 参数2:被填充的起始索引
- 参数3(可选):被填充的结束索引,默认为数组末尾
copyWithin()
将一定范围索引的数组元素修改为此数组另一指定范围索引的元素。
- 参数1:被修改的起始索引
- 参数2:被用来覆盖的数据的起始索引
- 参数3(可选):被用来覆盖的数据的结束索引,默认为数组结尾
遍历
entries()
遍历键值对。
keys()
遍历键名。
values()
遍历键值。
包含
includes()
数组是否包含指定值。
注意:
与 Set 和 Map 的has 方法区分;
1、Set 的 has 方法用于查找值;
2、Map 的 has 方法用于查找键名。
嵌套数组转一维数组
flat()
1、指定转换的嵌套层数
2、不管嵌套多少层
3、自动跳过空位
flatMap()
先对数组中的每个元素进行处理,再对数组执行flat()方法。
1、参数1:遍历函数,该遍历函数可接受三个参数:当前元素、当前元素索引、原数组
2、参数2:指定遍历函数中 this 的指向
数组缓冲区
数组缓冲区是内存中的一段地址。
定型数组的基础。
实际字节数在创建时确定,之后只可修改其中的数据,不可修改大小。