1.如何将a,b的值快速互换
let a=1; let b = 2; [a,b] = [b,a]
解析:
- 首先,我们有变量
a
被赋值为1
,变量b
被赋值为2
。 - 然后,
[a, b] = [b, a]
这行代码实际上是将数组[b, a]
解构赋值给了数组[a, b]
。 - 在解构赋值过程中,右侧的数组
[b, a]
中的值会被依次赋给左侧的数组[a, b]
中的变量,位置对应。 - 因此,在这个例子中,
b
的值会被赋给a
,a
的值会被赋给b
,实现了两个变量值的互换。
最终的结果是 a
的值变为 2
,b
的值变为 1
2.数组快速去重
let arr= [12,23,34,45,23,12,66,45] let newArr = [...new Set(arr)]
解析:
- 首先,定义了一个包含重复元素的数组
arr
:[12, 23, 34, 45, 23, 12, 66, 45]
。 - 接着,使用了扩展运算符(Spread Operator)和 Set 对象来去除数组中的重复元素。
new Set(arr)
创建了一个 Set 对象,Set 对象是一种特殊的集合,其中的值是唯一的,不会重复。[...new Set(arr)]
部分利用了扩展运算符将 Set 对象转换为一个新的数组。- 最终,将去除了重复元素的数组赋值给了变量
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
中的键值对转换为对象的属性和属性值,生成对象
因此,最终的结果是将二维数组转换为对象,并且对象的属性和属性值与原始数组中的键值对对应。这是一种快速创建对象的方式,特别适用于转换一些简单的数据结构。
标签:ES6,arr,Set,对象,解构,12,数组,赋值 From: https://www.cnblogs.com/qinlinkun/p/18034251