在 JavaScript 中,數(shù)組是一種非常常用的數(shù)據(jù)結(jié)構(gòu),它可以存儲多個值,并提供了一系列方便的方法來操作這些值。以下是 JavaScript 中數(shù)組的常用方法:
1. `push()`:向數(shù)組的末尾添加一個或多個元素,并返回新數(shù)組的長度。例如:
```javascript
let fruits = ['apple', 'banana'];
let length = fruits.push('orange');
console.log(fruits); // 輸出: ['apple', 'banana', 'orange']
console.log(length); // 輸出: 3
```
2. `pop()`:從數(shù)組的末尾刪除一個元素,并返回被刪除的元素。如果數(shù)組為空,則返回 `undefined`。例如:
```javascript
let fruits = ['apple', 'banana', 'orange'];
let removed = fruits.pop();
console.log(fruits); // 輸出: ['apple', 'banana']
console.log(removed); // 輸出: 'orange'
```
3. `unshift()`:向數(shù)組的開頭添加一個或多個元素,并返回新數(shù)組的長度。例如:
```javascript
let fruits = ['banana', 'orange'];
let length = fruits.unshift('apple');
console.log(fruits); // 輸出: ['apple', 'banana', 'orange']
console.log(length); // 輸出: 3
```
4. `shift()`:從數(shù)組的開頭刪除一個元素,并返回被刪除的元素。如果數(shù)組為空,則返回 `undefined`。例如:
```javascript
let fruits = ['apple', 'banana', 'orange'];
let removed = fruits.shift();
console.log(fruits); // 輸出: ['banana', 'orange']
console.log(removed); // 輸出: 'apple'
```
5. `splice()`:用于添加或刪除數(shù)組中的元素。它可以接受三個參數(shù):起始位置、要刪除的元素個數(shù)和要添加的元素。例如:
```javascript
let fruits = ['apple', 'banana', 'orange'];
fruits.splice(1, 1, 'kiwi');
console.log(fruits); // 輸出: ['apple', 'kiwi', 'orange']
```
上述代碼中,`splice(1, 1, 'kiwi')` 表示從索引 1 開始刪除 1 個元素,然后在該位置插入 'kiwi'。
6. `concat()`:用于連接兩個或多個數(shù)組。它不會修改原始數(shù)組,而是返回一個新的數(shù)組。例如:
```javascript
let fruits1 = ['apple', 'banana'];
let fruits2 = ['orange', 'grape'];
let combined = fruits1.concat(fruits2);
console.log(combined); // 輸出: ['apple', 'banana', 'orange', 'grape']
```
7. `slice()`:用于提取數(shù)組的一部分,并返回一個新的數(shù)組。它接受兩個參數(shù):起始位置和結(jié)束位置(不包括結(jié)束位置的元素)。如果只提供一個參數(shù),則從該位置開始提取到數(shù)組末尾。例如:
```javascript
let fruits = ['apple', 'banana', 'orange', 'grape'];
let sliced = fruits.slice(1, 3);
console.log(sliced); // 輸出: ['banana', 'orange']
```
8. `indexOf()`:用于查找數(shù)組中指定元素的索引。如果找到元素,則返回其索引;如果未找到,則返回 `-1`。例如:
```javascript
let fruits = ['apple', 'banana', 'orange'];
let index = fruits.indexOf('banana');
console.log(index); // 輸出: 1
```
9. `lastIndexOf()`:與 `indexOf()` 類似,用于查找數(shù)組中指定元素的最后一個索引。如果找到元素,則返回其索引;如果未找到,則返回 `-1`。例如:
```javascript
let fruits = ['apple', 'banana', 'orange', 'banana'];
let index = fruits.lastIndexOf('banana');
console.log(index); // 輸出: 3
```
10. `forEach()`:用于遍歷數(shù)組的每個元素,并對每個元素執(zhí)行指定的函數(shù)。例如:
```javascript
let numbers = [1, 2, 3, 4, 5];
numbers.forEach(function (number) {
console.log(number * 2);
});
```
上述代碼中,`forEach()` 遍歷 `numbers` 數(shù)組的每個元素,并將每個元素乘以 2 后打印出來。
11. `map()`:用于創(chuàng)建一個新數(shù)組,其中每個元素都是原數(shù)組中對應(yīng)元素經(jīng)過指定函數(shù)處理后的結(jié)果。例如:
```javascript
let numbers = [1, 2, 3, 4, 5];
let doubled = numbers.map(function (number) {
return number * 2;
});
console.log(doubled); // 輸出: [2, 4, 6, 8, 10]
```
12. `filter()`:用于創(chuàng)建一個新數(shù)組,其中包含原數(shù)組中滿足指定條件的元素。例如:
```javascript
let numbers = [1, 2, 3, 4, 5];
let evenNumbers = numbers.filter(function (number) {
return number % 2 === 0;
});
console.log(evenNumbers); // 輸出: [2, 4]
```
13. `reduce()`:用于對數(shù)組的每個元素執(zhí)行指定的函數(shù),并將結(jié)果匯總為一個值。例如:
```javascript
let numbers = [1, 2, 3, 4, 5];
let sum = numbers.reduce(function (accumulator, currentValue) {
return accumulator + currentValue;
}, 0);
console.log(sum); // 輸出: 15
```
上述代碼中,`reduce()` 對 `numbers` 數(shù)組的每個元素進行累加,初始值為 0,最終返回累加結(jié)果 15。
這些是 JavaScript 中數(shù)組的常用方法,它們可以幫助你方便地操作和處理數(shù)組。根據(jù)具體的需求,選擇合適的方法可以使代碼更加簡潔和高效。