解构数组:

 

从数组解构出属性:

var arr = [1,2,3,4,5]

var [a,b] = arr;

a和b是一个普通的变量,值分别是数组的前两项1和2

 

从数组中切割属性:

var arr = [1,2,3,4,5]

var [a, ...b] = arr;

b变量的值等于2,3,4,5

 

数组的合并:

var arr = [1,2]

var arr2 = [3,4,5]

var arr 3 = [...arr, ...arr2];

 

解构对象:

 

从对象中解构出属性:

var obj = {

      a:1,

      b:2

}

var {a,b,c} = obj

a的值等于1, b等于2, c是undefined,因为obj对象下面没有c这个属性,对象的属性解构是根据对象下的属性来的,不是数组的顺序

 

从对象中切割属性:

var obj = {

       a: 1,

       b: 2,

       c: 3,

       d: 4

}

var { a, ...props} = obj

props的值等于一个新的对象,值={b: 2, c: 3, d: 4}

 

对象的合并:

var obj = {

      a: 1,

      b: 2

}

var obj2 = {

      c: 3,

      d: 4

}

var obj3 = {...obj, ...obj2}

注意:对象的结构合并后面的对象会覆盖前面的对象

 

数组的循环:

Array.prototype

forEach | map | filter

map: map的函数必须要有return,这个return的值会组成一个新的数组

filter: filter也会返回一个新的数组,filter的函数return的结果如果是true的话就会把当前加入到新的数组