首頁 > 易卦

如何將元素插入陣列的指定索引?

作者:由 前端小智 發表于 易卦日期:2022-08-11

怎麼取陣列的索引

簡介

陣列是一種線性資料結構,可以說是程式設計中最常用的資料結構之一。修改陣列是一種常見的操作,這裡,我們來討論如何在 JS 中陣列的任何位置新增元素。

元素可以新增到陣列中的三個位置

開始/第一個元素

結束/最後元素

其他地方

接著,我們一個一個過一下:

陣列物件中的

unshift()

方法將一個或多個元素新增到陣列的開頭,並返回陣列的新長度:

const startArray = [3, 4, 5];const newLength = startArray。unshift(2);console。log(newLength); console。log(startArray);startArray。unshift(-1, 0, 2);console。log(startArray);

上面輸出的結果:

4[ 2, 3, 4, 5 ][ -1, 0, 2, 2, 3, 4, 5 ]

將元素新增到陣列的末尾

使用陣列的最後一個索引

要在陣列末尾新增元素,可以使用陣列的長度總是比下標

小1

這一技巧。

const indexArray = [1, 2, 3];console。log(indexArray。length);console。log(indexArray[2]);console。log(indexArray[3]);indexArray[indexArray。length] = 4console。log(indexArray);

上面輸出的結果:

33undefined[ 1, 2, 3, 4 ]

陣列的長度是

3

,第二個元素是

3

。沒有第三個元素,所以我們用

undefined

開頭。最後,在該位置插入值

4

使用 push() 方法

陣列的

push()

方法將一個或多個元素新增到陣列的末尾。就像

unshift()

一樣,它也會返回陣列的新長度

const pushArray = [1, 2, 3]const newLength = pushArray。push(4, 5, 6, 7);console。log(newLength);console。log(pushArray);

上面輸出的結果:

7[ 1, 2, 3, 4, 5, 6, 7 ]

使用 concat() 方法

透過陣列的

concat()

方法實現兩個或更多陣列的合併。它建立新的副本,且不影響原始陣列。與以前的方法不同,它返回一個新陣列。使用該方法,要連線的值始終位於陣列的末尾。

const example1Array1 = [1, 2, 3];const valuesToAdd = [4, 5, 6];const example1NewArray = example1Array1。concat(valuesToAdd);console。log(example1NewArray);console。log(example1Array1);

上面輸出的結果:

[ 1, 2, 3, 4, 5, 6 ][ 1, 2, 3 ]

我們可以將一個數組與一系列值連線起來:

const array = [1,2,3];const newArray = array。concat(‘12’, true, null, 4,5,6,‘hello’);console。log(array);console。log(newArray);

上面輸出的結果:

[ 1, 2, 3 ][ 1, 2, 3, ‘12’, true, null, 4, 5, 6, ‘hello’ ]

可以將一個數組與多個數組連線起來:

const array1 = [1, 2, 3];const array2 = [4, 5, 6];const array3 = [7, 8, 9];const oneToNine = array1。concat(array2, array3);console。log(oneToNine);

上面輸出的結果:

[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

在陣列的任何位置新增元素

現在我們將討論一個

masterstroke

方法,它可以用於在陣列的任何位置新增元素——開始、結束、中間和中間的任何位置。

splice()

方法新增,刪除和替換陣列中的元素。它通常用於陣列管理,此方法不會建立新陣列,而是會更新呼叫它的陣列。

我們來看看

splice()

的實際應用。這裡有一個

weekdays

陣列,現在,我們想在

‘週二’

‘週四’

之間新增一個

‘週三’

元素

const weekdays = [‘週一’, ‘週三’, ‘週四’, ‘週五’]const deletedArray = weekdays。splice(2, 0, ‘週二’);console。log(weekdays);console。log(deletedArray);

上面輸出的結果:

[“週一”, “週二”, “週三”, “週四”, “週五”][]

分析一下上面的程式碼。我們想在

weekdays

陣列的第二個位置新增

‘週二’

。這裡不需要刪除任何元素。

weekdays。splice(2, 0, ‘wednesday’)

被讀取為第二個位置,不移除任何元素並新增

‘週二’

下面是使用

splice()

的一般語法:

let removedItems = array。splice(start[, deleteCount[, item1[, item2[, 。。。]]]])

start

-開始修改陣列的索引。

deleteCount

-從

start

刪除的陣列中可選的專案數。如果省略,則

start

後的所有專案都將被刪除。

item1, item2, 。。。

-從

start

新增到陣列的可選專案。如果省略,它將僅從陣列中刪除元素。

我們看一下

slice()

的另一個示例,在該示例中我們同時新增和刪除陣列。我們將在第二個位置新增

‘週三’

,但是我們還將在該處刪除錯誤的週末值:

const weekdays = [‘週一’, ‘週三’, ‘週六’, ‘週日’, ‘週四’, ‘週五’]const deletedArray = weekdays 。splice(2, 2, ‘週二’);console。log(weekdays);console。log(deletedArray);

上面輸出的結果:

[“週一”, “週三”, “週二”, “週四”, “週五”][“週六”, “週日”]

總結

在本文中,我們研究了 JS 中可以向陣列新增元素的多種方法。我們可以使用

unshift()

將它們新增到開頭。我們可以使用索引,

pop()

方法和

concat()

方法將它們新增到末尾。透過

splice()

方法,我們可以更好地控制它們的放置位置。

完~ 我是小智,我要去刷碗了,我們下期見~