es6-数组的扩展

  • 扩展运算符 ...
    ···javascript
    console.log(...[1,2,3]);
    ···
  • Array.from
    将类似数组的对象和可遍历对象转为真正的数组
  • Array.of用于将一组值,转换为数组。
Array.of(3, 11, 8) // [3,11,8]
Array.of(3) // [3]
Array.of(3).length // 1
  • 数组实例:copyWithin。在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组
[1, 2, 3, 4, 5].copyWithin(0, 3)
// [4, 5, 3, 4, 5]
  • 实例:find findIndex
  • 实例:fill 填充数组
['a', 'b', 'c'].fill(7)
// [7, 7, 7]

new Array(3).fill(7)
// [7, 7, 7]
  • 实例:entries keys values,返回一个遍历器对象
  • 实例:includes 是否包含给定的值
  • 实例:flat faltMap flat将数组拉平,变成一维数组;flatMap对每个成员执行一个函数,只能展开一层数组
[2, 3, 4].flatMap((x) => [x, x * 2])
// [2, 4, 3, 6, 4, 8]

上面代码中,遍历函数返回的是一个双层的数组,但是默认只能展开一层,因此flatMap()返回的还是一个嵌套数组。

  • 数组的空位
    数组的空位是没有任何值
0 in [undefined, undefined, undefined] // true
0 in [, , ,] // false

空位的处理规则非常不统一,所以建议避免出现空位。

  • Array.prototype.sort() 的排序稳定性
    排序稳定性:排序关键字相同的项目,排序前后的顺序不变
    常见的排序:插入排序、合并排序、冒泡排序等都是稳定的
    堆排序、快速排序是不稳定的。
    不稳定排序在多重排序时可能会产生问题。

你可能感兴趣的:(es6-数组的扩展)