一、數組的定義和創建
JavaScript 中的數組是一種特殊的對象,可以存儲一組數據,並通過索引訪問每個數據。
數組有兩種定義方式:
var arr1 = new Array(); //構造函數法
var arr2 = []; //字面量法
通常使用字面量法來創建數組。
使用 push() 和 unshift() 可以向數組中添加元素:
var arr = [1, 2, 3];
arr.push(4); //[1, 2, 3, 4]
arr.unshift(0); //[0, 1, 2, 3, 4]
二、數組的遍歷和訪問
通過下標可以訪問數組中的元素:
var arr = ['a', 'b', 'c'];
var element = arr[1]; //b
arr[2] = 'd';
也可以使用 for 循環遍歷整個數組:
var arr = ['a', 'b', 'c'];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
數組中還有很多內置方法可以幫助我們快速遍曆數組,比如 forEach(), map(), filter() 等。
forEach() 可以幫助我們對數組中的每個元素執行指定的操作:
var arr = [1, 2, 3];
arr.forEach(function(element) {
console.log(element);
});
map() 和 filter() 則可以讓我們對數組中的元素進行處理和篩選:
var arr = [1, 2, 3];
var mappedArr = arr.map(function(element) {
return element * 2;
});
var filteredArr = arr.filter(function(element) {
return element > 1;
});
三、數組的排序和查找
JavaScript 中的數組排序方法是 sort():
var arr = [3, 1, 2];
arr.sort(); //[1, 2, 3]
sort() 方法默認是按照字典序排序,可以傳入一個比較函數進行自定義排序。
數組的查找方法包括 indexOf(), lastIndexOf() 和 includes():
var arr = [1, 2, 3];
arr.indexOf(2); //1
arr.lastIndexOf(2); //1
arr.includes(2); //true
四、數組的拼接和分割
可以使用 concat() 方法將多個數組合併為一個新數組:
var arr1 = [1, 2];
var arr2 = [3, 4];
var arr3 = arr1.concat(arr2); //[1, 2, 3, 4]
使用 join() 方法可以將數組中的元素以指定的分隔符拼接成一個字符串:
var arr = ['a', 'b', 'c'];
var str = arr.join(); //'a,b,c'
使用 split() 方法可以將一個字符串分割成數組:
var str = 'a,b,c';
var arr = str.split(','); //['a', 'b', 'c']
五、數組的複製和截取
數組的複製可以使用 slice() 方法:
var arr = [1, 2, 3];
var copyArr = arr.slice();
slice() 方法還可以用來截取數組的一部分:
var arr = [1, 2, 3, 4];
var subArr = arr.slice(1, 3); //[2, 3]
表示從下標為 1 的元素開始,截取 3-1 個元素。
六、數組的去重和反轉
可以使用 ES6 的 Set 數據結構進行數組去重:
var arr = [1, 2, 2, 3];
var uniqueArr = Array.from(new Set(arr)); //[1, 2, 3]
也可以通過循環和 indexOf() 方法進行數組去重:
var arr = [1, 2, 2, 3];
var uniqueArr = [];
for (var i = 0; i < arr.length; i++) {
if (uniqueArr.indexOf(arr[i]) === -1) {
uniqueArr.push(arr[i]);
}
}
數組的反轉可以使用 reverse() 方法:
var arr = [1, 2, 3];
arr.reverse(); //[3, 2, 1]
總結
數組是 JavaScript 中非常重要的數據結構,常用於存儲一組相關的數據。本文對數組的定義、創建、遍歷、訪問、排序、查找、拼接、分割、複製、截取、去重和反轉等方面進行了詳細的探討,希望對讀者能夠有所幫助。
原創文章,作者:HPNXH,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/372622.html