JavaScript數組資料結構
數組是任何編程語言中最基本的資料結構。
數組在大多數(如果不是所有)編程語言中都是內建的。
讓我們來談談數組在大多數低級編程語言(如C語言)中的表示方式:它們表示計算機內存中一組連續的存儲單元。
從一個內存單元開始(如果你想的話,可以將這些單元想象成電子表格中的單元格),我們可以通過使用10個連續的存儲單元來創建一個包含10個插槽的數組。
這使我們能夠進行諸如通過知道第一個插槽(# 0)的內存地址,然後簡單地將 2
添加到該地址來訪問插槽#2之類的操作。
在JavaScript中,我們在更高層次上進行工作,數組的工作方式也不同。我們無法像C或其他低級語言那樣直接訪問內存,因此我們無法進行這種類型的數組數學運算。
低級語言中的數組只能存儲一種特定的數據類型,因此我們可以預先計算出數組將占用多少內存,以便將其安全地存儲在可以容納它的計算機內存中。
在JavaScript中,數組可以存儲任何類型的數據,並且可以混合使用。我們可以有一個數字,然後是一個物件,然後是另一個數組。
使用以下語法初始化數組:
1 | const myArray = [] |
或者
1 | const myArray = new Array() |
這兩者沒有區別,但我更喜歡使用簡寫語法[]
。
在JavaScript中,我們不需要在創建時指定數組大小,但是我們可以這樣做:
1 | const myArray = new Array(10) |
然後我們可以填充數組的值:
1 | let val = 1 |
您可以使用以下語法引用數組中的第一個項目:
1 | myArray[0] |
(索引從0
開始),並且可以通過增加索引號獲取數組中的每個後續項目:
1 | myArray[4] //5 |
您可以使用以下語法更改任何位置的項目值:
1 | myArray[3] = 'Another item' |
JavaScript中的數組在內部是對象,因此它們具有方法。您可以使用 push
方法將一個項目添加到數組的末尾:
1 | myArray.push(11) |
您可以使用splice()
方法(不要與slice()
混淆)在任何位置添加項目。
在開頭:
1 | myArray.splice(0, 0, 'new item') |
在索引3處:
1 | myArray.splice(3, 0, 'new item') |
您可以使用以下語法從數組的末尾刪除一個項目:
1 | myArray.pop() |
從頭部刪除一個項目:
1 | myArray.shift() |
我們可以通過檢查myArray.length
屬性來獲取數組的長度。
我們可以使用循環迭代數組中的項目:
1 | for (let i = 0; i < myArray.length; i++) { |
1 | myArray.forEach((item, index) => { |
1 | let i = 0 |
1 | // 迭代值 |
tags: [“JavaScript”, “array”, “data structure”]