JavaScript – 陣列 (Arrays)

發布日期:2023/04/07
瀏覽次數:396

陣列 (Arrays)

在 JavaScript 中,陣列是一個有序的資料集合,可以包含任意數量的元素。要建立一個陣列,可以使用中括號 [],並在其中列出元素。例如:

var fruits = ["apple", "banana", "orange"];

console.log(fruits[0]); // 輸出 apple
console.log(fruits[1]); // 輸出 banana
console.log(fruits[2]); // 輸出 orange

在上面的例子中,我們建立了一個名為 fruits 的陣列,它包含三個元素:apple、banana 和 orange。我們可以通過陣列索引來訪問這些元素,例如 fruits[0] 將返回 apple。

除了通過索引訪問陣列元素外,我們還可以使用數組的許多內置方法來處理陣列。這些方法包括push、pop、shift、unshift、slice等。

以下是一些陣列常用的方法的範例:

let numbers = [1, 2, 3, 4, 5];

numbers.push(6); // 添加元素6到陣列末尾
console.log(numbers); // 輸出 [1, 2, 3, 4, 5, 6]

numbers.pop(); // 刪除陣列末尾的元素
console.log(numbers); // 輸出 [1, 2, 3, 4, 5]

numbers.shift(); // 刪除陣列開頭的元素
console.log(numbers); // 輸出 [2, 3, 4, 5]

numbers.unshift(0); // 添加元素0到陣列開頭
console.log(numbers); // 輸出 [0, 2, 3, 4, 5]

let slicedNumbers = numbers.slice(1, 3); // 從索引1開始,截取到索引3之前的元素
console.log(slicedNumbers); // 輸出 [2, 3]

在上面的例子中,我們首先創建了一個名為numbers的陣列,其中包含5個數字元素。然後,我們使用push方法向陣列末尾添加一個元素,使用pop方法刪除陣列末尾的元素,使用shift方法刪除陣列開頭的元素,使用unshift方法將一個元素添加到陣列開頭,使用slice方法截取陣列中的一個子集。

陣列練習

以下是一些練習,可以用來熟練使用JavaScript陣列的一些方法。

練習1:找到陣列中的最大值和最小值

編寫一個函數,該函數接受一個陣列作為參數,並返回陣列中的最大值和最小值。

function findMinMax(arr) {
  let min = arr[0];
  let max = arr[0];

  for (let i = 1; i < arr.length; i++) {
    if (arr[i] < min) {
      min = arr[i];
    }
    if (arr[i] > max) {
      max = arr[i];
    }
  }

  return {min: min, max: max};
}

let numbers = [3, 6, 1, 8, 2, 10, 4];
let result = findMinMax(numbers);
console.log(result); // 輸出 {min: 1, max: 10}

在這個練習中,我們首先創建了一個名為findMinMax的函數,它接受一個陣列作為參數。在函數中,我們使用一個for循環遍歷陣列中的所有元素,並使用if語句來比較每個元素與最小值和最大值。如果元素小於當前最小值,則將其設置為新的最小值;如果元素大於當前最大值,則將其設置為新的最大值。

最後,我們將最小值和最大值作為一個對象返回,並將其存儲在一個名為result的變量中。然後,我們將result輸出到控制台中,以驗證函數的正確性。

練習2:過濾陣列中的偶數

編寫一個函數,該函數接受一個陣列作為參數,並返回一個新的陣列,其中只包含原始陣列中的偶數。

function filterEvenNumbers(arr) {
  let result = [];

  for (let i = 0; i < arr.length; i++) {
    if (arr[i] % 2 === 0) {
      result.push(arr[i]);
    }
  }

  return result;
}

let numbers = [3, 6, 1, 8, 2, 10, 4];
let filteredNumbers = filterEvenNumbers(numbers);
console.log(filteredNumbers); // 輸出 [6, 8, 2, 10, 4]

在這個練習中,我們首先創建了一個名為filterEvenNumbers的函數,它接受一個陣列作為參數。在函數中,我們使用一個for循環遍歷陣列中的所有元素,並使用if語句來檢查每個元素是否為偶數。如果是偶數,則將其添加到一個名為result的新陣列中。

最後,我們將result陣列返回,該陣列包含原始陣列中的所有偶數元素。然後,我們將新陣列輸出到控制台中,以驗證函數的正確性。

Like