一、改变原数组
push: 结尾追加数据 返回数组长度
pop: 删除最后一位 返回删除的数据
shift: 删除首位 返回删除的数据
unshift: 前面插入数据 返回数组长度
splice: 用于添加或删除数组中的元素 splice(下标, 长度, ...新增的元素) 返回截取后的元素组成的新数组
reverse: 把原数组的元素反转 返回反转后的原数组
sort: 排序 传入一个函数(函数返回值 负数 0 正数) 返回排序后的原数组
fill: 填充数组 默认填充所有项 fill(要填充的数据, 下标开始位置, 下标截止位置)
copyWithin: 复制 原数组下标 从 start 到 end 的数据 到指点位置 copyWithin(指定下标位置, start, end) 返回改变元素后的原数组
二、不改变原数组
-------- 下面的传入值-------
includes: 查找是否存在(使用===判断)返回 true 或 false
indexOf: 查找有符合的元素 返回第一个符合值(使用===判断)的下标 没有返回 -1
lastIndexOf: 查找有符合的元素 返回最后一个符合值(使用===判断)的下标 没有返回 -1
-------- 下面的需要传入判断函数 -------
filter: 查出所有符合条件的元素新数组 如果没有返回空数组
find: 返回符合条件的元素 如果没有就返回undefined
findLast: 返回符合条件的最后一个元素 如果没有就返回undefined
findIndex: 查找有符合条件的元素 返回第一个符合值的下标 没有返回 -1
findLastIndex: 返回符合条件的最后一个元素的下标 如果没有就返回 -1
every: 传入一个函数判断是否每个元素都符合条件 返回 ture 或 false
some: 传入一个函数判断是否有元素符合条件 返回 ture 或 false
forEach: 传入一个函数 循环数组 返回undefined
map: 传入一个函数 循环数组 返回 原数组被函数处理后的新数组
reduce: 接收一个函数作为累加器 循环数组 返回计算后的值
contact: 拼接数组
entries: 返回可迭代对象 可用forEach循环获取 每一项为数组 [下标, 下标对应的值]
values: 返回可迭代对象 可用forEach循环获取 每一项为数组的值
keys: 返回可迭代对象 可用forEach循环获取 每一项为数组的下标
join: 传入一个字符串 用字符串分割把每个数组元素拼接成一个字符串 返回拼接好的字符串
with: 改变数组某个下标的值 返回改变后的数组 with(下标, 值)
toReversed: 返回反转后的数组 不改变原数组
flat: 扁平化数组 参数递归几层默认一层 返回扁平化后的新数组 原数组不变
flatMap: 是flat和map的结合 会把数组所有层都打平 打平的数组会变成字符串用英文逗号隔开 返回函数处理后的新数组
toSpliced: 和splice功能一样 只不过不会改变原数组 返回添加或删除后的新数组
toSorted: 和sort功能一样 只不过不会改变原数组 返回排序后的新数组
总结:
所有带to的都不会改变原数组 只是对原数组拷贝一份然后处理后返回新数组