JS學習筆記#7 | 陣列(Array)

更新 發佈閱讀 11 分鐘

陣列(Array)是 JavaScript 中用來儲存一組有序資料的集合。

陣列可以包含各種資料型別的值,例如數字、字串、布林值,甚至其他陣列或物件。


1. 宣告陣列的方法

  • 使用中括號 []
    let fruits = ["蘋果", "香蕉", "橘子"];
  • 使用 Array 建構函式
    let numbers = new Array(1, 2, 3);


2. 陣列的特性

  • 有序性:陣列中的每個元素都有一個索引,從 0 開始計數。例如: 第一個元素的索引是 0,第二個是 1,依此類推。
  • 長度屬性 length:可以取得陣列的長度。
    let items = [1, 2, 3, 4];
    console.log(items.length); // 輸出:4


3. 訪問與修改陣列元素

  • 訪問元素:使用中括號和索引。
    let colors = ["紅", "藍", "綠"];
    console.log(colors[0]); // 輸出:"紅"
  • 修改元素:直接使用索引賦新值。
    let colors = ["紅", "藍", "綠"];
    colors[1] = "黃色"; // 將 "藍" 修改為 "黃色"
    console.log(colors); // 輸出:["紅", "黃色", "綠"]



4. 陣列方法

  • push():將元素加到陣列末端。
    let arr = ['a', 'b', 'c'];
    const count = arr.push('d');
    console.log(count); // 返回:4
    console.log(arr); // ["a", "b", "c", "d"]
  • pop():移除並回傳陣列最後一個元素。
    let arr = ['a', 'b', 'c'];
    console.log(arr.pop()); // 輸出:"c"
    console.log(arr); // 輸出:["a", "b"]
  • shift():移除並回傳陣列第一個元素。
    let arr = ['a', 'b', 'c'];
    const firstElement = arr.shift();
    console.log(firstElement); // 輸出:"a"
    console.log(arr); // 輸出:["b", "c"]
  • unshift():將元素加到陣列開頭。
    let arr = ['a', 'b', 'c'];
    console.log(arr.unshift('d', 'f')); // 返回:5
    console.log(arr); // 輸出:["d", "f", "a", "b", "c"]
  • forEach():對陣列中的每個元素執行提供的函式。
    let numbers = [1, 2, 3]; 
    numbers.forEach(num => console.log(num));
    // 輸出:1
    // 輸出:2
    // 輸出:3
  • map():對陣列中的每個元素執行提供的函式並回傳一個新陣列。
    let numbers = [1, 2, 3];
    let doubled = numbers.map(num => num * 2);
    console.log(numbers) // [1,2,3]
    console.log(doubled) // [2, 4, 6]
  • filter():根據條件過濾元素並回傳一個新陣列。
    let numbers = [1, 2, 3];
    let evenNumbers = numbers.filter(num => num % 2 === 0);
    console.log(numbers) // [1,2,3]
    console.log(evenNumbers) // [2]
  • concat():合併陣列。
    let arr1 = [1, 2];
    let arr2 = [3, 4];
    let combined = arr1.concat(arr2);
    console.log(combined) // [1, 2, 3, 4]
  • includes():檢查陣列中是否包含指定元素,回傳 true 或 false。
    const pets = ['cat', 'dog', 'bat'];
    console.log(pets.includes("cat")); // 輸出:true
  • find():找出陣列中符合條件的第一個元素,並回傳該元素的值。如果沒有符合條件的元素,則回傳 undefined。
let numbers = [10, 20, 30, 40, 50];
let foundNumber = numbers.find(num => num > 30);
console.log(foundNumber); // 輸出:40

let notFound = numbers.find(num => num > 100);
console.log(notFound); // 輸出:undefined

let users = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' },
];
let user = users.find(u => u.id === 2);
console.log(user); // 輸出: { id: 2, name: 'Bob' }
  • some():檢查陣列中是否至少有一個元素符合條件,回傳 true 或 false。
let numbers = [1, 3, 5, 8, 9];
let hasEven = numbers.some(num => num % 2 === 0);
console.log(hasEven); // 輸出:true

let allOdd = numbers.some(num => num % 2 === 0);
console.log(allOdd); // 輸出:true

let products = [
{ name: 'Apple', price: 1.2 },
{ name: 'Banana', price: 0.8 },
{ name: 'Orange', price: 1.5 }
];
let hasExpensive = products.some(product => product.price > 2);
console.log(hasExpensive); // 輸出: false
  • every():檢查陣列中是否所有元素都符合條件,回傳 true 或 false。
let numbers = [2, 4, 6, 8, 10];
let allEven = numbers.every(num => num % 2 === 0);
console.log(allEven); // 輸出:true

let allGreaterThanZero = numbers.every(num => num > 0);
console.log(allGreaterThanZero); // 輸出:true

let numbers2 = [2, 4, 6, 8, 10, 1];
let allEven2 = numbers2.every(num => num % 2 === 0);
console.log(allEven2); // 輸出:false

let ages = [25, 30, 22, 28, 35];
let allAdults = ages.every(age => age >= 18);
console.log(allAdults); // 輸出: true
  • sort():對陣列的元素進行排序,並回傳排序後的陣列。
// 字串排序​
let fruits = ["banana", "apple", "orange", "grape"];
fruits.sort();
console.log(fruits); // 輸出:["apple", "banana", "grape", "orange"]

//數字排序 (使用比較函式)
let numbers = [10, 2, 1, 25];
// 升序排序
numbers.sort((a, b) => a - b);
console.log(numbers); // 輸出:[1, 2, 10, 25]
// 降序排序
numbers.sort((a, b) => b - a);
console.log(numbers); // 輸出:[25, 10, 2, 1]

// 物件排序
let products = [
{ name: "Laptop", price: 1200 },
{ name: "Tablet", price: 300 },
{ name: "Phone", price: 800 },
];
// 按照價格升序排序
products.sort((a, b) => a.price - b.price);
console.log(products);
// 輸出:
// [
// { name: 'Tablet', price: 300 },
// { name: 'Phone', price: 800 },
// { name: 'Laptop', price: 1200 }
// ]
    • .sort() 會直接修改原始陣列。如果你不希望修改原始陣列,可以使用 slice() 複製一份再排序。
留言
avatar-img
koko的沙龍
1會員
34內容數
koko的沙龍的其他內容
2025/04/30
React 事件處理:讓網頁動起來~ 網頁的互動性是吸引使用者、提供良好體驗的關鍵。 在 React 中,透過監聽使用者的操作(例如點擊、滑鼠移動、鍵盤輸入),並執行相應的程式碼,來實現豐富的互動效果。
Thumbnail
2025/04/30
React 事件處理:讓網頁動起來~ 網頁的互動性是吸引使用者、提供良好體驗的關鍵。 在 React 中,透過監聽使用者的操作(例如點擊、滑鼠移動、鍵盤輸入),並執行相應的程式碼,來實現豐富的互動效果。
Thumbnail
2025/04/28
在 React 的世界裡,Props 負責從父元件向子元件傳遞資料,而 State 則是負責管理元件自身的內部資料。 State 就像元件的記憶,可以儲存元件的狀態,並根據狀態的變化來更新 UI。
Thumbnail
2025/04/28
在 React 的世界裡,Props 負責從父元件向子元件傳遞資料,而 State 則是負責管理元件自身的內部資料。 State 就像元件的記憶,可以儲存元件的狀態,並根據狀態的變化來更新 UI。
Thumbnail
2025/04/27
在 React 的世界裡,元件 (Component) 就像一個個獨立的個體,各自負責 UI 的一部分,要讓這些個體協同工作,就需要一種溝通的機制,而 Props 就是組件之間通信和數據傳遞的主要方式。
Thumbnail
2025/04/27
在 React 的世界裡,元件 (Component) 就像一個個獨立的個體,各自負責 UI 的一部分,要讓這些個體協同工作,就需要一種溝通的機制,而 Props 就是組件之間通信和數據傳遞的主要方式。
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
陣列(Array)是 JavaScript 中用來儲存一組有序資料的集合。 陣列可以包含各種資料型別的值,例如數字、字串、布林值,甚至其他陣列或物件。了解陣列的基本操作是編寫高效 JavaScript 程式碼的重要基礎。
Thumbnail
陣列(Array)是 JavaScript 中用來儲存一組有序資料的集合。 陣列可以包含各種資料型別的值,例如數字、字串、布林值,甚至其他陣列或物件。了解陣列的基本操作是編寫高效 JavaScript 程式碼的重要基礎。
Thumbnail
Array可以說是各種語言除了基本型別之外,最常用的資料型別與容器之一了。 Array 這種連續格子狀的資料結構,在Python要怎麼表達呢? 建立一個空的陣列 最簡單也最直接的寫法就是 array = [] # Python list [] 就對應到大家熟知的array 陣列型態的資料結
Thumbnail
Array可以說是各種語言除了基本型別之外,最常用的資料型別與容器之一了。 Array 這種連續格子狀的資料結構,在Python要怎麼表達呢? 建立一個空的陣列 最簡單也最直接的寫法就是 array = [] # Python list [] 就對應到大家熟知的array 陣列型態的資料結
Thumbnail
分享在網路上看到的陣列題目。通常 for...of 的 value 是陣列中的每個值,那如果我們在迭代中對陣列操作會發生什麼事? 題目來源:https://x.com/_jayphelps/status/1774640511158022335?s=20
Thumbnail
分享在網路上看到的陣列題目。通常 for...of 的 value 是陣列中的每個值,那如果我們在迭代中對陣列操作會發生什麼事? 題目來源:https://x.com/_jayphelps/status/1774640511158022335?s=20
Thumbnail
陣列可以說是最常見的資料結構,LeetCode 裡的題目有過半都和 Array 有關,因此也通常是解題新手的第一站。在第一篇專文,我們就從它的操作方法講起。
Thumbnail
陣列可以說是最常見的資料結構,LeetCode 裡的題目有過半都和 Array 有關,因此也通常是解題新手的第一站。在第一篇專文,我們就從它的操作方法講起。
Thumbnail
JavaScript Array 基本操作筆記
Thumbnail
JavaScript Array 基本操作筆記
Thumbnail
👨‍💻簡介 陣列就像是一個儲存相同類型資料的容器,你可以想像成裝滿了一樣東西的盒子,每個東西都叫做陣列元素。這種類型可以是基本的,像是整數或字串,也可以是你自己定義的型別。不過陣列有個限制,就是大小一旦確定就無法改變。在Go語言裡,陣列的長度也是型別的一部分。
Thumbnail
👨‍💻簡介 陣列就像是一個儲存相同類型資料的容器,你可以想像成裝滿了一樣東西的盒子,每個東西都叫做陣列元素。這種類型可以是基本的,像是整數或字串,也可以是你自己定義的型別。不過陣列有個限制,就是大小一旦確定就無法改變。在Go語言裡,陣列的長度也是型別的一部分。
Thumbnail
  陣列(Array)是什麼?它是一個很好用的東西哦!當我們要處理100個學生的成績的時候,如果沒有陣列的話,那麼我們的變數就要命名100個不同的變數,這樣的程式雖然不是不能執行,想一想,是不是有一點要在命名上會想破頭殼呢?因為要想100個不同的變數麻~   你說:「那就變數後面加入編號就好啦~如
Thumbnail
  陣列(Array)是什麼?它是一個很好用的東西哦!當我們要處理100個學生的成績的時候,如果沒有陣列的話,那麼我們的變數就要命名100個不同的變數,這樣的程式雖然不是不能執行,想一想,是不是有一點要在命名上會想破頭殼呢?因為要想100個不同的變數麻~   你說:「那就變數後面加入編號就好啦~如
Thumbnail
C# 陣列 – (C#教學) – Array為程式設計中最基本元素之一. 陣列就是用一個variable記下多個同類的值(記憶體中的位置), 以供日後所調用. 相關頁面: C# List – 學會List的5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
C# 陣列 – (C#教學) – Array為程式設計中最基本元素之一. 陣列就是用一個variable記下多個同類的值(記憶體中的位置), 以供日後所調用. 相關頁面: C# List – 學會List的5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
這篇我們來看一個在程式開發很常見也很常用的一個東西:Array 陣列 Array在所有的程式開發中還蠻常見的,也一定會出現,因為有很多的資料都會是一長串的,需要有一個物件來去做集中管理。
Thumbnail
這篇我們來看一個在程式開發很常見也很常用的一個東西:Array 陣列 Array在所有的程式開發中還蠻常見的,也一定會出現,因為有很多的資料都會是一長串的,需要有一個物件來去做集中管理。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News