3.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. //! 数组解构
  2. let arr = [1, 2, 3];
  3. // 需求:将数组arr中的元素1,2,3分别取出来赋值给对应变量a,b,c
  4. // a = 1; b = 2; c =3
  5. // var a = arr[0];
  6. // var b = arr[1];
  7. // var c = arr[2];
  8. // console.log(a, b, c);
  9. // 使用数组解构 会更简单直接
  10. // let [a, b, c] = arr;
  11. // let [c, b, a] = [4, 5, 6];
  12. // console.log(a, b, c);
  13. // let a, c;
  14. // [a, c] = [1, 3];
  15. let [, , third] = ['foo', 'bar', 'baz'];
  16. console.log(third); // "baz"
  17. let [, middle] = ['f', 'b', 'r'];
  18. console.log(middle);
  19. let [first] = [7, 8, 9];
  20. console.log(first); // 7
  21. let [x, , y] = [1, 2, 3];
  22. console.log(x, y);
  23. let [head, ...tail] = [1, 2, 3, 4];
  24. console.log(head, tail);
  25. // 在解构时,如果失败了,变量就会被赋值为undefined,如果...z解构,z确定就是数组,由于解构失败 因此就是空数组. 这里需要注意 ...z这种剩余解构方式,只能写在解构的尾部
  26. let [f, s, ...z] = ['a'];
  27. console.log(f, s, z);
  28. //? [1, 2, 3, 4, 5, 6]
  29. let [a, , b] = [1, 2, 3, 4, 5, 6];
  30. console.log(`output->a, b`, a, b);