Array API

20 阅读3分钟
不改变原数组,返回新数组不改变原数组,返回元素/索引不改变原数组,返回boolean改变原数组,返回新数组/元素其他
concat(浅拷贝,不跳过空槽)at(-1)every(所有元素是否能通过指定函数测试)copyWithin(target, start, end) (不改变原数组长度)entries(返回一个迭代器对象,可以使用for of遍历
filter(浅拷贝,会跳过空槽)find(返回符合函数的第一个元素,没找到返回undefined)findLast(反向查找)includes(searchElement, fromIndex)fill(val, start, end)(不改变原数组长度)forEach(遍历数组,无返回值) 等同于for循环和for of
flat(depth[默认1层]); flat() 去除空槽; flat(Infinity)无限展开findIndex(返回符合函数的第一个元素索引,没找到返回-1)findLastIndex(反向查找)some()  至少有一个元素能通过指定函数测试shift() 删除第一个元素,并返回该元素的值,如果数组为空则返回 undefinedjoin(',') 返回合并后的字符串,默认逗号分隔,不跳过空槽
flatMap() 调用map()再调用flat(1)indexOf(searchElement, fromIndex)返回第一次出现的索引,找不到返回-1pop()删除最后一个元素,并返回该元素的值keys() 返回数组迭代器对象,包含每个数组的索引,空槽也显示对应索引
**map()**去除空槽lastIndexOf() 返回最后出现的索引,找不到返回-1unshift(element1, element2)  开头添加新元素,并返回数组的新长度。reduce(callbackFn, initialValue) 返回回调函数遍历整个数组后的结果; 注意:1.无初始值,数组不能为空,否则会报错;2.如果数组只有一个元素且无初始值,不执行回调函数,返回数组的唯一元素 reduceRight() 反方向遍历
toReversed() 返回反转后的新数组,保留空槽 reverse() 会改变原数组,并返回该数组的引用,保留空槽33push()  末尾添加新元素,并返回新的数组长度sort() 对数组的元素进行排序,经过排序的原始数组的引用。注意数组是就地排序的,不会进行复制。,默认排序是将元素转换为字符串,然后按照它们的 UTF-16 码元值升序排序,保留空槽; 回调函数两个参数a,b,如果a>b return 正数 正序排列
slice【start, end) 原数组的浅拷贝33splice(start, deleteCount, item1, item2)  方法[就地]移除或者替换已存在的元素和/或添加新的元素,返回一个包含了删除的元素的数组。如果只移除一个元素,则返回一个元素的数组。如果没有删除任何元素,则返回一个空数组。toString()  方法返回一个字符串,实际上在内部调用了 [join()]方法来拼接数组并返回一个包含所有数组元素的字符串,元素之间用逗号分隔。如果 join 方法不可用或者不是函数,则会使用 [Object.prototype.toString]来代替,并返回 [object Array],与 join() 的行为一致,toString() 将空槽视为 undefined 并生成一个额外的分隔符
toSorted()  方法是 [sort()]方法的[复制方法]版本,它返回一个新数组
with(index, value)  方法是使用[方括号表示法]修改指定索引值的[复制方法]版本。它会返回一个新数组,其指定索引处的值会被新值替换。空槽变undefined