本文概述
ES6引入了一个称为散布运算符的新运算符, 它由三个点(…)组成。它允许迭代器在期望参数超过零的地方扩展。它赋予我们从数组中获取参数的特权。
散布运算符的语法与rest参数相似, 但是完全相反。让我们了解一下散布运算符的语法。
语法
var variablename1 = [...value];
上面语法中的三个点(…)是散布运算符, 其目标是特定变量中的整个值。
让我们尝试了解散布运算符在不同情况下的用法:
散布运算符和数组操作
在这里, 我们将看到如何使用散布运算符来操纵数组。
构造数组文字
当我们使用文字形式构造数组时, 散布运算符允许我们在初始化的数组中插入另一个数组。
例子
let colors = ['Red', 'Yellow'];
let newColors = [...colors, 'Violet', 'Orange', 'Green'];
console.log(newColors);
输出如下
[ 'Red', 'Yellow', 'Violet', 'Orange', 'Green' ]
串联数组
Spread运算符还可用于连接两个或多个数组。
例子
let colors = ['Red', 'Yellow'];
let newColors = [...colors, 'Violet', 'Orange', 'Green'];
console.log(newColors);
输出如下
[ 'Red', 'Yellow', 'Violet', 'Orange', 'Green' ]
复制数组
我们还可以使用散布运算符复制数组的实例。
例子
let colors = ['Red', 'Yellow'];
let newColors = [...colors];
console.log(newColors);
输出如下
[ 'Red', 'Yellow' ]
如果我们在不使用spread运算符的情况下复制数组元素, 则在复制的数组中插入新元素将影响原始数组。
但是, 如果我们使用散布运算符复制数组, 则在复制的数组中插入元素不会影响原始数组。
让我们理解相同的插图。
例子
不使用散布算子
let colors = ['Red', 'Yellow'];
let newColors = colors;
newColors.push('Green');
console.log(newColors);
console.log(colors);
输出如下
[ 'Red', 'Yellow', 'Green' ]
[ 'Red', 'Yellow', 'Green' ]
使用散布算子
let colors = ['Red', 'Yellow'];
let newColors = [...colors];
newColors.push('Green');
console.log(newColors);
console.log(colors);
输出如下
[ 'Red', 'Yellow', 'Green' ]
[ 'Red', 'Yellow' ]
注意:除了元素, 散布运算符仅将数组本身复制到新数组中。这意味着操作员可以执行浅拷贝而不是深拷贝。
散布运算符和字符串
让我们看看散布操作符如何散布字符串。相同的图示如下。
例子
在这里, 我们从单个字符串构造了一个数组str。
let str = ['A', ...'EIO', 'U'];
console.log(str);
在上面的示例中, 我们将扩展运算符应用于字符串” EIO”。它将” EIO”字符串的每个特定字符散布成单个字符。
执行以上代码后, 我们将获得以下输出。
输出如下
[ 'A', 'E', 'I', 'O', 'U' ]
评论前必须登录!
注册