簡體   English   中英

如何在JavaScript中將一個數組添加為另一個數組中的項

[英]How to Add an Array as an Item in Another Array in JavaScript

想象一下,我創建了一個數組,如下所示:

var arr1 = ['one', 'two', 'three'];

我現在想創建另一個像這樣的數組:

var arr2 = [arr1, 'four', 'five']

現在是arr2的內容:

[Array(3), "four", "five"]

那不是我想要的。 我希望內容看起來像這樣:

['one', 'two', 'three', 'four', 'five']

我怎樣才能做到這一點?

注意,我不是在尋找像concat這樣的函數,而是在arr2中將arr1列為項目的一種方式,即將arr1中的所有項目都添加為arr2中的單個項目(我希望這很有意義) 。

感謝您提供的任何幫助。

使用ES6 傳播語法 ...您可以做到這一點。

擴展語法允許在需要多個參數(用於函數調用)或多個元素(用於數組文字)或多個變量(用於解構賦值)的地方擴展表達式。

 var arr1 = ['one', 'two', 'three']; var arr2 = [...arr1, 'four', 'five'] console.log(arr2) 

更新:現在問題已更改,此解決方案不再提供問題。

您可以為此使用concat:

var arr1 = ['one', 'two', 'three'];
var arr2 = arr1.concat(['four', 'five', 'six']);

哪個輸出

["one", "two", "three", "four", "five", "six"]

如果您使用的是新版JS。 您可以這樣做:

var
  array1 = [1,2,3],
  array2 = [3, 4, 5];

  array2.unshift(...array1);

  // array2 = [1,2,3,4,5,6]
  // array1 = [1, 2, 3]

實現此目的的方法:

1. ES6 Array.of()方法:它將創建一個具有可變數量參數的新Array,而不考慮參數的數量或類型。

 const arr1 = ['one', 'two', 'three']; const arr2 = Array.of(...arr1, 'four', 'five'); console.log(arr2); 

2.使用Array.concat()方法:此方法用於合並兩個或多個數組。 此方法不更改現有數組,而是返回一個新數組。

 var arr1 = ['one', 'two', 'three']; var arr2 = arr1.concat(['four', 'five']); console.log(arr2); 

3.使用ES6 Array.from()方法:它還從類似數組或可迭代的對象中創建一個新的Array實例。

 const arr1 = ['one', 'two', 'three']; Array.from(['four', 'five'], item => arr1.push(item)); console.log(arr1); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM