扩展运算符:…
Array.from():转数组
Array.of():将一组值转为数组
copyWithin():
- Array.copyWithin(定位, 从定位开始读, 停止读) :复制到定位的位置(原有数据会覆盖),返回新数组
find(),findIndex(),findLast(),findLastIndex()
- find():找出第一个符合条件的数组成员,没有返undefined
- findIndex():找出第一个符合条件的数组成员,没有返-1
- findLast(): 从后面到前面找起
- findLastIndex():从后面到前面找起
fill(填充数,填充起始位,结束位)给值填充一个数组
- [‘a’, ‘b’, ‘c’].fill(7, 1, 2) // [‘a’, 7, ‘c’]
toReversed(),toSorted(),toSpliced(),with() — 不改变原数组,而是返回原数组操作后的拷贝
- toReversed()对应reverse(),用来颠倒数组成员的位置。
- toSorted()对应sort(),用来对数组成员排序。
- toSpliced()对应splice(),用来在指定位置,删除指定数量的成员,并插入新成员。
- with(index, value)对应splice(index, 1, value),用来将指定位置的成员替换为新的值。
⭐ group()、groupToMap() — 将数组成员分组
- group((数组当前成员,该成员的索引,原数组) => {return 条件 ? ‘分组名1’ :’分组名2’ }) — 按照字符串分组
- groupToMap((数组当前成员,该成员的索引,原数组) => {return 条件 ? 分组对象名1 :分组对象名2 }) — 按照对象分组
1
2
3
4
5
6
7const array = [1, 2, 3, 4, 5];
const odd = { odd: true };
const even = { even: true };
array.groupToMap((num, index, array) => {
return num % 2 === 0 ? even: odd;
});
// Map { {odd: true}: [1, 3, 5], {even: true}: [2, 4] }
⭐ 数组的空位
- Array(3) // [, , ,] —- 遍历空位识别为undefined
- Array.from()、扩展运算符(…)、entries()、keys()、values()、find()和findIndex()会将空位处理成undefined。
- copyWithin()会连空位一起拷贝。
- fill()会将空位视为正常的数组位置。
- for…of循环也会遍历空位。
- map()方法遍历,空位是会跳过的。