最近新增的数组API-JavaScript

66 阅读1分钟

最近新增的数组API-JavaScript

  1. toSorted

    Array 实例的 toSorted()  方法是 sort() 方法的复制方法版本。它返回一个新数组,其元素按升序排列。

//sort -- 会改变原数组
const arr = [3,1,2]
arr.sort((a, b) => a-b)
console.log(arr)
//[1, 2, 3]

//toSorted -- 不会改变原数组,将返回一个新数组
const arr = [3,1,2]
console.log(arr.toSorted((a, b) => a - b))
// [1, 2, 3]
console.log(arr)
// [3, 1, 2]
  1. toReversed

Array 实例的 toReversed()  方法是 reverse() 方法对应的复制版本。它返回一个元素顺序相反的新数组。

// reverse -- 会改变原数组
const arr = [1,2,3]
arr.reverse()
console.log(arr)
// [3, 2, 1]

// toReversed -- 不会改变原数组, 将返回一个新数组
const arr = [1,2,3]
console.log(arr.toReversed())
// [3, 2, 1]
console.log(arr)
// [1, 2, 3]
  1. toSpliced

Array 实例的 toSpliced()  方法是 splice() 方法的复制版本。它返回一个新数组,并在给定的索引处删除和/或替换了一些元素。

// splice -- 改变原数组,并返回原数组被删除的数据
const arr = [1, 2, 3, 4]
arr.splice(0, 2)
console.log(arr.splice(0, 2))
// [1, 2]
console.log(arr)
// [3, 4]

// toReversed -- 不会改变原数组, 将返回一个新数组(被删减/替换后的数组)
const arr = [1, 2, 3, 4]
arr.toReversed(0, 2)
console.log(arr.toReversed(0, 2))
// [3, 4]
console.log(arr)
// [1, 2, 3, 4]