JavaScript学习笔记—数组的解构赋值

const arr = ["孙悟空", "猪八戒", "沙和尚"];
let [a, b, c] = arr; // 解构赋值
console.log(a,b,c); // 孙悟空 猪八戒 沙和尚
let [d, e, f, g] = ["唐僧", "白骨精", "蜘蛛精", "玉兔精"]; // 声明同时解构
console.log(d, e, f, g); // 唐僧 白骨精 蜘蛛精 玉兔精

[d, e, f, g] = [1,2,3];
console.log(d, e, f, g); // 1 2 3 undefined

[d, e, f=77, g=10] = [1,2,3]; // 默认值,如果赋值时没有赋值则使用默认值
console.log(d, e, f, g); // 1 2 3 10

[d, e, f, g] = ["唐僧", "白骨精", "蜘蛛精", "玉兔精"];
[d, e, f=77, g=g] = [1,2,3];
console.log(d, e, f, g); // 1 2 3 '玉兔精'
let [n1, n2, ...n3] = [4, 5, 6, 7]; // 解构数组时,可以使用...来设置获取多余的元素(数组)
console.log(n1, n2, n3); // 4 5 [6, 7]

function fn(){
  return ["二郎神", "猪八戒"];
}
let [name1, name2] = fn();

// 可以通过解构赋值来快速交换两个变量的值
let a1 = 10;
let a2 = 20;
[a1, a2] = [a2, a1];
console.log("a1=", a1); // a1= 20
console.log("a2=", a2); // a2= 10

const arr2 = ["孙悟空", "猪八戒"];
[arr2[0], arr2[1]] = [arr2[1], arr2[0]];
console.log(arr2); // ["猪八戒", "孙悟空"]
posted @ 2023-01-25 17:34  程序员张3  阅读(21)  评论(0编辑  收藏  举报