本文概述
- 数组解构和Rest运算符
- 数组解构和默认值
- 交换变量
- 从函数解析返回的数组
解构是一种从存储在数组或对象中的数据中提取多个值的有效方法。解构数组时, 我们在分配中使用它们的位置(或索引)。
让我们尝试通过使用一些插图来理解数组的解构:
例子
var arr = ["Hello", "World"]// destructuring assignmentvar [first, second] = arr;
console.log(first);
// Helloconsole.log(second);
// World
在上面的示例中, 解构分配的左侧用于定义从源变量解包所需的值。
输出如下
HelloWorld
让我们再举一个数组解构的例子。
例子
var colors = ["Violet", "Indigo", "Blue", "Green", "Yellow", "Orange", "Red"];
// destructuring assignmentvar[color1, color2, color3] = colors;
console.log(color1);
// Violetconsole.log(color2);
// Indigoconsole.log(color3);
// Blue
输出如下
VioletIndigoBlue
例子
【ES6数组解构详细用法解析】如果要从给定数组中选择随机元素, 则可以在数组分解中执行以下操作:
var colors = ["Violet", "Indigo", "Blue", "Green", "Yellow", "Orange", "Red"];
// destructuring assignmentvar[color1, , color3, , color5] = colors;
//Leave space for unpick elementsconsole.log(color1);
// Violetconsole.log(color3);
// Blueconsole.log(color5);
// Yellow
在上面的示例中, 我们定义了一个名为colors的数组, 其中包含七个元素。但是我们必须显示给定数组中的三种随机颜色, 即紫罗兰色, 蓝色和黄色。这些数组元素位于位置0、2和4中。
销毁期间, 你必须为未选择的元素留出空间, 如上例所示。否则, 你会得到意想不到的结果。
输出如下
VioletBlueYellow
注意:我们不能使用数字进行销毁。使用数字将引发错误, 因为数字不能是变量的名称。数组解构和Rest运算符通过在数组解构中使用rest运算符(…), 可以将数组的所有剩余元素放入新数组中。
让我们尝试通过一个例子来理解它。
例子
var colors = ["Violet", "Indigo", "Blue", "Green", "Yellow", "Orange", "Red"];
// destructuring assignmentvar [a, b, ...args] = colors;
console.log(a);
console.log(b);
console.log(args);
输出如下
VioletIndigo[ 'Blue', 'Green', 'Yellow', 'Orange', 'Red' ]
数组解构和默认值如果要从数组中获取一个值, 并且该值未定义, 则可以为变量分配默认值。
例子
var x, y;
[x=50, y=70] = [100];
console.log(x);
// 100console.log(y);
// 70
输出如下
10070
交换变量可以在一个解构表达式中交换两个变量的值。数组解构可以轻松交换变量的值, 而无需使用任何临时变量。
例子
var x = 100, y = 200;
[x, y] = [y, x];
console.log(x);
// 200console.log(y);
// 100
输出如下
200100
从函数解析返回的数组一个函数可以返回一个值数组。总是可以从函数返回数组, 但是数组解构使得从函数解析返回的数组更加简洁。
让我们通过一个例子来理解它。
例子
function array() {return [100, 200, 300];
} var [x, y, z] = array();
console.log(x);
// 100console.log(y);
// 200console.log(z);
// 300
在上面的示例中, 我们定义了array()函数, 该函数返回包含三个元素的数组。我们使用数组分解将上述数组元素分解为一行代码中的特定元素x, y和z。
输出如下
100200300
推荐阅读
- ES6数组介绍和用法
- ES6数组方法介绍和示例
- ES6动画介绍和用法示例
- ES5和ES6之间的详细比较
- Android-自定义进度条
- Hbuilder打包app
- android TextView如何换行()
- 在模拟器上运行Android项目时报错(DELETE_FAILED_INTERNAL_ERROR Error while Installing APKs)
- Android 自定义AlertDialog--备忘