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
留言分享你的想法!
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
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,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