JavaScript數組方法詳解
本文將深入探討JavaScript中常用的陣列方法,涵蓋元素增刪、尋找、轉換、排序、組合及迭代等方面,並提供程式碼範例,幫助您更好地理解和應用這些方法。
1. 元素新增與刪除
push()
: 在陣列末尾加上元素。 <code class="language-javascript">let fruits = ["apple", "banana"]; fruits.push("cherry"); console.log(fruits); // Output: ["apple", "banana", "cherry"]</code>
pop()
: 刪除陣列結尾元素。 <code class="language-javascript">fruits.pop(); console.log(fruits); // Output: ["apple", "banana"]</code>
unshift()
: 將元素加入陣列開頭。 <code class="language-javascript">fruits.unshift("mango"); console.log(fruits); // Output: ["mango", "apple", "banana"]</code>
shift()
: 刪除陣列開頭元素。 <code class="language-javascript">fruits.shift(); console.log(fruits); // Output: ["apple", "banana"]</code>
2. 尋找與搜尋
indexOf()
: 傳回指定元素在陣列中第一次出現的索引。 <code class="language-javascript">let numbers = [10, 20, 30, 40]; console.log(numbers.indexOf(20)); // Output: 1</code>
includes()
: 檢查陣列是否包含指定元素。 <code class="language-javascript">console.log(numbers.includes(30)); // Output: true console.log(numbers.includes(50)); // Output: false</code>
3. 陣列轉換
map()
: 建立一個新數組,其元素是原始數組元素經由回調函數處理的結果。 <code class="language-javascript">let numbers = [1, 2, 3]; let squares = numbers.map(num => num * num); console.log(squares); // Output: [1, 4, 9]</code>
filter()
: 建立一個新數組,其元素是原始數組中滿足指定條件的元素。 <code class="language-javascript">let evenNumbers = numbers.filter(num => num % 2 === 0); console.log(evenNumbers); // Output: [2]</code>
reduce()
: 將陣列元素累積成一個值。 <code class="language-javascript">let sum = numbers.reduce((acc, num) => acc + num, 0); console.log(sum); // Output: 6</code>
4. 排序
sort()
: 將陣列排序(預設為字母順序)。 數字需要自訂比較器。 <code class="language-javascript">let fruits = ["banana", "apple", "cherry"]; fruits.sort(); console.log(fruits); // Output: ["apple", "banana", "cherry"] let numbers = [10, 5, 20]; numbers.sort((a, b) => a - b); // 升序 console.log(numbers); // Output: [5, 10, 20]</code>
reverse()
: 反轉數組。 <code class="language-javascript">fruits.reverse(); console.log(fruits); // Output: ["cherry", "banana", "apple"]</code>
5. 陣列組合與擷取
concat()
: 合併兩個或多個陣列。 <code class="language-javascript">let arr1 = [1, 2]; let arr2 = [3, 4]; let combined = arr1.concat(arr2); console.log(combined); // Output: [1, 2, 3, 4]</code>
slice()
: 擷取陣列的一部分,不修改原數組。 <code class="language-javascript">let numbers = [10, 20, 30, 40]; let sliced = numbers.slice(1, 3); console.log(sliced); // Output: [20, 30]</code>
splice()
: 新增或移除陣列元素。 <code class="language-javascript">let fruits = ["apple", "banana", "cherry"]; fruits.splice(1, 1, "orange", "grape"); console.log(fruits); // Output: ["apple", "orange", "grape", "cherry"]</code>
6. 陣列迭代
forEach()
: 為陣列中的每個元素執行一個函數。 <code class="language-javascript">let numbers = [1, 2, 3]; numbers.forEach(num => console.log(num * 2)); // Output: 2, 4, 6</code>
7. 其他常用方法
join()
: 將陣列轉換為字串,使用指定的分隔符號。 <code class="language-javascript">let fruits = ["apple", "banana", "cherry"]; console.log(fruits.join(", ")); // Output: "apple, banana, cherry"</code>
find()
: 傳回滿足指定條件的第一個元素。 <code class="language-javascript">let numbers = [10, 20, 30]; let result = numbers.find(num => num > 15); console.log(result); // Output: 20</code>
findIndex()
: 傳回滿足指定條件的第一個元素的索引。 <code class="language-javascript">console.log(numbers.findIndex(num => num > 15)); // Output: 1</code>
flat()
: 展平巢狀陣列。 <code class="language-javascript">let nested = [1, [2, 3], [4, [5]]]; console.log(nested.flat(2)); // Output: [1, 2, 3, 4, 5]</code>
以上是Javascript - 陣列方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!