在 JavaScript 中将多个值推送到数组

在 JavaScript 中将多个值推送到数组

Push multiple Values to an Array in JavaScript

使用该Array.push()方法将多个值推送到一个数组,例如
arr.push('b', 'c', 'd');. push()方法将一个或多个值添加到数组的末尾。

索引.js
const arr = ['a']; arr.push('b', 'c', 'd'); console.log(arr); // 👉️ ['a', 'b', 'c', 'd']

Array.push()
方法接受一个或多个参数并将它们添加到数组的末尾

该方法更改原始数组的内容并返回数组的新长度。

请注意,该push()方法不返回数组,它返回数组的新长度。

如果您需要推入数组的值存储在另一个数组中,请使用扩展语法 (…)。

索引.js
const arr = ['a']; const values = ['b', 'c', 'd']; arr.push(...values); console.log(arr); // 👉️ ['a', 'b', 'c', 'd']

我们使用扩展语法 (…) 来解压
Array.push()方法调用中的值。

您可以想象展开语法 (…) 解压缩数组并将其值作为多个逗号分隔的参数传递给该Array.push()方法。

您还可以使用
扩展语法 (…)
将多个值压入一个数组。

使用扩展语法将多个值推送到数组 (…)

使用传播语法将多个值推送到一个数组,例如
arr = [...arr, 'b', 'c', 'd'];.

扩展语法可用于解包原始数组的值,后跟一个或多个附加值。

索引.js
let arr = ['a']; arr = [...arr, 'b', 'c', 'd']; console.log(arr); // 👉️ ['a', 'b', 'c', 'd']

请注意,我们使用let关键字来声明arr变量。如果我们使用 声明变量const,我们将无法重新分配它。

考虑展开语法 (…) 的一种简单方法是将一个数组的值解包到另一个数组中。

在这种情况下,我们将数组的内容解压缩arr到一个新数组中,并在新数组的末尾添加 3 个值。

如果您需要推入数组的值存储在另一个数组中,请使用扩展语法 (…) 将它们解包。

索引.js
let arr = ['a']; const values = ['b', 'c', 'd']; arr = [...arr, ...values]; console.log(arr); // 👉️ ['a', 'b', 'c', 'd']

我们在同一语句中使用了扩展语法 (…) 2 次。

我们首先将arr数组解包成一个新数组,然后将values
数组解包成新数组。

如果要将值推送到数组的开头,请更改解包数组的顺序。

索引.js
let arr = ['a']; const values = ['b', 'c', 'd']; arr = [...values, ...arr]; console.log(arr); // 👉️ [ 'b', 'c', 'd', 'a' ]

或者,您可以使用该splice()方法。

使用 splice() 将多个值推送到数组

使用该Array.splice()方法将多个值推送到一个数组,例如
arr.splice(arr.length, 0, 'b', 'c', 'd');.

splice()方法会将提供的值添加到数组的末尾。

索引.js
const arr = ['a']; arr.splice(arr.length, 0, 'b', 'c', 'd'); console.log(arr); // 👉️ ['a', 'b', 'c', 'd']

我们将以下参数传递给
Array.splice()
方法:

  1. start index – 开始更改数组的索引。
  2. delete count – 从起始索引开始从数组中删除多少个元素
  3. 从起始索引开始添加到数组的一个或多个值

我们想在数组的末尾插入元素,所以我们将数组的长度作为起始索引传递。

我们不想删除任何元素,因此我们提供0删除计数参数。

这种方法实现了与方法相同的结果push(),但是,它有点冗长和间接。

如果要推入数组的多个值存储在另一个数组中,请使用扩展语法 (…)。

索引.js
const arr = ['a']; const values = ['b', 'c', 'd']; arr.splice(arr.length, 0, ...values); console.log(arr); // 👉️ [ 'a', 'b', 'c', 'd' ]

我们使用扩展语法 (…)values在方法调用中解压缩数组
Array.splice()

您还可以使用该Array.unshift()方法将多个值推送到一个数组。

使用 unshift() 将多个值推送到数组

使用该Array.unshift()方法将多个值推送到一个数组中,例如
arr.unshift('a', 'b', 'c');.

unshift()方法将一个或多个元素添加到数组的开头。

索引.js
const arr = ['d']; arr.unshift('a', 'b', 'c'); console.log(arr); // 👉️ [ 'a', 'b', 'c', 'd' ]

Array.unshift()方法将

一个或多个元素添加到数组的开头并返回数组的新长度。

unshift()方法与方法相反,push() 因为它将指定的值添加到数组的开头。

如果您的多个值存储在另一个数组中,请在调用该unshift()方法时使用扩展语法 (…)。

索引.js
const arr = ['d']; const values = ['a', 'b', 'c']; arr.unshift(...values); console.log(arr); // 👉️ [ 'a', 'b', 'c', 'd' ]

您还可以使用该Array.concat()方法将多个值推送到一个数组。

使用 concat() 将多个值推送到数组

使用该Array.concat()方法将多个值推送到一个数组,例如
const result = arr.concat('b', 'c', 'd');.

Array.concat()方法将一个数组或多个值作为参数,并将这些值连接到一个新数组中。

索引.js
const arr = ['a']; const result = arr.concat('b', 'c', 'd'); console.log(result); // 👉️ [ 'a', 'b', 'c', 'd' ]

我们将多个参数传递给
Array.concat
方法,但是,该方法也可以用数组调用。

索引.js
const arr = ['a']; const values = ['b', 'c', 'd']; const result = arr.concat(values); console.log(result); // 👉️ [ 'a', 'b', 'c', 'd' ]

Array.concat()请注意,我们在调用该方法时不必使用扩展语法 (…)

请注意,该concat()方法将值连接到一个新数组中并返回新数组。

该方法不会改变调用它的原始数组。

您选择哪种方法是个人喜好的问题。我会使用该
Array.push()方法,因为我发现它非常直接和直观。