扩展运算符格式
扩展运算符格式很简单,就是三个点(...
)
扩展运算符作用
扩展运算符允许一个表达式在期望多个参数(用于函数调用)或多个元素(用于数组字面量)或多个变量(用于解构赋值)的位置扩展。(太绕了)
var middle = [3, 4];
var arr = [1, 2, middle, 5, 6];
console.log(arr);
// [1, 2, [3, 4], 5, 6]
在上例中,没有使用扩展运算符。middle作为数组放入另一个数组中。
但是如果想让输出结果只有一个数组???
这时候就用到扩展运算符
var middle = [3, 4];
var arr = [1, 2, ...middle, 5, 6];
console.log(arr);
// [1, 2, 3, 4, 5, 6]
当创建数组arr
和使用在middle
数组上使用扩展运算符时,不是将middle
数组直接插入到arr
中,而是将middle
数组扩展,然后将元素插入到arr
中。
复制数组
var arr = ['a', 'b', 'c'];
var arr2 = [...arr];
console.log(arr2);
// ['a', 'b', 'c']
拼接数组
//concat()
var arr = ['a', 'b', 'c'];
var arr2 = ['d', 'e', 'f'];
arr1 = arr.concat(arr2);
console.log(arr);
// ['a', 'b', 'c', 'd', 'e', 'f']
//扩展运算符
var arr = ['a', 'b', 'c'];
var arr2 = ['d', 'e', 'f'];
arr = [...arr, ...arr2];
console.log(arr);
// ['a', 'b', 'c', 'd', 'e', 'f']
计算
var arr = [2, 4, 8, 6, 0];
function max(arr) {
return Math.max.apply(null, arr);
}
console.log(max(arr));
// 8
//现在看看使用扩展运算符做同样事情。只需要两行代码就可以做到同样效果。
var arr = [2, 4, 8, 6, 0];
var max = Math.max(...arr);
console.log(max);
// 8
字符串转数组
//使用扩展运算符将字符串转换为数组。
var str = "hello";
var chars = [...str];
console.log(chars);
// ['h', 'e',' l',' l', 'o']
网友评论