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