记录工作中可能会用到的方法,仅作为笔记
1.扩展运算符(...)
(1) 替代数组的apply方法
应用 Math.max 方法将数组转为一个参数系列,然后求出最大值//ES5的写法Math.max.apply(null,[12,3,2]);//ES6的写法Math.max(...[12,3,2]);//等同于Math.max(12,3,2);通过 push 函数将一个数组添加到另一个数组的尾部var arr1 = [0,1,2];var arr2 = [3,4,5];//ES5的写法(push 方法的参数不可以是数组) Array.prototype.push.apply(arr1,arr2);//ES6的写法arr1.push(...arr2);
(2).合并数组
var arr1 = ['a', 'b'];var arr2 = ['c'];var arr3 = ['d', 'e'];//ES5arr1.concat(arr2,arr3);//["a", "b", "c", "d", "e"]//ES6[...arr1,...arr2,...arr3]//["a", "b", "c", "d", "e"]
(3).与解构赋值结合起来生成新数组 (扩展运算符用于数组赋值时只能放在参数的最后一位,否则会报错)
eg1:var list = [1,2,3], a, rest;//ES5a = list[0]; //1rest = list.slice(1); //[2,3]//ES6[a, ...rest] = list;a; //1rest;//[2,3]eg2:const [first, ... rest] = [1,2,3,4];first //1rest //[2,3,4]
eg3:const [first, ... rest] = [];first //undefinedrest //[]
eg4: const [...butLast, last] = [1,2,3,4,5]; //报错
const [first, ...middle,last] = [1,2,3,4,5]; //报错