ES6技巧(快速解构赋值、数组去重、数组转对象)

1.如何将a,b的值快速互换

let a=1;
let b = 2; 
[a,b] = [b,a]

解析:

  1. 首先,我们有变量 a 被赋值为 1,变量 b 被赋值为 2
  2. 然后,[a, b] = [b, a] 这行代码实际上是将数组 [b, a] 解构赋值给了数组 [a, b]
  3. 在解构赋值过程中,右侧的数组 [b, a] 中的值会被依次赋给左侧的数组 [a, b] 中的变量,位置对应。
  4. 因此,在这个例子中,b 的值会被赋给 aa 的值会被赋给 b,实现了两个变量值的互换。

最终的结果是 a 的值变为 2b 的值变为 1

2.数组快速去重

let arr= [12,23,34,45,23,12,66,45]
let newArr = [...new Set(arr)]

解析:

  1. 首先,定义了一个包含重复元素的数组 arr[12, 23, 34, 45, 23, 12, 66, 45]
  2. 接着,使用了扩展运算符(Spread Operator)和 Set 对象来去除数组中的重复元素。
  3. new Set(arr) 创建了一个 Set 对象,Set 对象是一种特殊的集合,其中的值是唯一的,不会重复。
  4. [...new Set(arr)] 部分利用了扩展运算符将 Set 对象转换为一个新的数组。
  5. 最终,将去除了重复元素的数组赋值给了变量 newArr

因此,newArr 的值将是一个去除了重复元素后的新数组,即 [12, 23, 34, 45, 66]

3.快速将数组转为对象

const arr = [['name', 'Alice'], ['age', 30]];
const obj = Object.fromEntries(arr);

解析:

  • 数组 arr 包含两个子数组,每个子数组都包含两个元素,第一个元素是键,第二个元素是对应的值。
  • Object.fromEntries() 方法接受一个类似于 Map 对象的键值对列表,并返回一个由这些键值对生成的新对象。
  • 在这里,Object.fromEntries(arr) 将 arr 中的键值对转换为对象的属性和属性值,生成对象

因此,最终的结果是将二维数组转换为对象,并且对象的属性和属性值与原始数组中的键值对对应。这是一种快速创建对象的方式,特别适用于转换一些简单的数据结构。

posted on 2024-02-26 14:22  萬事順意  阅读(51)  评论(0编辑  收藏  举报