解包数组元素意味着将数组元素值分配给新变量。我们可以将每个元素分配给单独的变量,或者我们可以将一些元素分配给单独的变量,对于其余元素,我们可以创建一个新数组。在本教程中,我们将学习使用 JavaScript 将数组元素解包到单独的变量中。
语法
用户可以按照以下语法将数组元素解包到单独的变量中。
let array = [element1, element2, element3, element4]; let [a, b, c, d] = array;
在上述语法中,a 变量包含 element1 的值,b 包含 element2 的值,c 包含 element3 的值,d 变量包含 element4 的值。
现在,我们将了解使用 JavaScript 将数组元素解包到单独变量中的各种示例。
示例 1
在下面的示例中,我们定义了 array1 并使用一些数值对其进行了初始化。此外,我们还定义了 a、b 和 c 变量来将数组元素解压到其中。之后,我们使用上面的语法将数组元素解构为单独的变量。
在输出中,用户可以观察 a、b 和 c 变量的初始值以及将数组元素解压到其中后的最终值。
<html> <body> <h2>Unpacking the array elements <i> to separate variables </i> using JavaScript. </h2> <div id = "output"> </div> <script> var output = document.getElementById('output'); let array1 = [10, 20, 30]; let a = 40; let b = 100; let c = 50; output.innerHTML += "The elements of the array1 are " + array1 + " <br/>"; output.innerHTML += "The initial values of the a, b, and c variables are a : " + a + " b : " + b + " c : " + c + " <br>"; [a, b, c] = array1; output.innerHTML += "The values of the a, b, and c variables after unpacking the array elements are a : " + a + " b : " + b + " c : " + c + " <br>"; </script> </body> </html>
示例 2
在此示例中,我们在声明新变量时直接将数组元素解包到单独的变量中。用户可以观察我们如何声明多个变量并通过直接将数组分配给变量而不是分配数组变量来解压数组。
<html> <body> <h2>Unpacking the array elements <i> to separate variables </i> using JavaScript. </h2> <div id = "output"> </div> <script> var output = document.getElementById('output'); let [var1, var2, var3] = ["Hi", "Hello", "Welcome"]; output.innerHTML += "The values of the var1, var2, and var3 variables after unpacking the array elements are var1 : " + var1 + ", var2 : " + var2 + ", var3 : " + var3 + " <br>"; </script> </body> </html>
示例 3
在下面的示例中,当用户单击按钮时,它将调用 unpackElements() 函数。在 unpackElements() 函数中,我们破坏了数组。此外,我们在将数组元素解包到单独的变量中时跳过了数组中的一些元素。
用户可以看到我们可以通过逗号分隔添加空格来跳过任何数组索引中的元素。
<html> <body> <h2>Skipping some array elements while unpacking them <i> into separate variables </i> using JavaScript. </h2> <div id = "output"> </div> <button onclick="unpackElements()">Unpack array elements</button> <script> var output = document.getElementById('output'); function unpackElements() { let a, b, c, d; output.innerHTML += "The initial values of a, b, c, d variables are a : " + a + ", b : " + b + ", c : " + c + ", d : " + d + "<br/>"; // Skipping the elements [a, , b, , c, , d] = [10, 20, 30, 40, 50, 60, 70, 80, 90]; output.innerHTML += "The values of the a, b, c, and d variables after unpacking the array elements are a : " + a + ", b : " + b + ", c : " + c + ", d : " + d + "<br/>"; } </script> </body> </html>
示例 4
在下面的示例中,我们将学习在解包数组元素时为变量分配默认值。我们指定 500 作为所有变量的默认值。如果数组包含的元素少于变量总数,则变量将使用默认值进行初始化。
在下面示例的输出中,我们可以看到 d 的值为 500,这是默认值。
<html> <body> <h3>Assigning the default values to the variables while unpacking array elements <i> to separate variables </i> using JavaScript </h3> <div id = "output"> </div> <button onclick="unpackElements()">Unpack array elements</button> <script> var output = document.getElementById('output'); function unpackElements() { let a, b, c, d; output.innerHTML += "The initial values of a, b, c, d variables are a : " + a + ", b : " + b + ", c : " + c + ", d : " + d + "<br/>"; // Skipping the elements [a = 500, , b = 500, , c = 500, , d = 500] = [10, 20, 30, 40, 50]; output.innerHTML += "The values of the a, b, c, and d variables after unpacking the array elements are a : " + a + ", b : " + b + ", c : " + c + ", d : " + d + "<br/>"; } </script> </body> </html>
我们已经学习了数组解构,这是在 JavaScript 的 ES6 版本中引入的。我们已经看到了四个代表数组元素解包用例的示例。
用户学会了在解压数组元素时跳过元素并为变量分配默认值。