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