在 JavaScript 中,數(shù)組是用于存儲(chǔ)有序集合的對象。如果只需要定義一個(gè)簡單的數(shù)組,使用數(shù)組字面量是最簡單和最直接的方法,這是最常見的方式。可以直接使用方括號[]來創(chuàng)建數(shù)組,并在其中列出數(shù)組元素,元素之間用逗號分隔,跟著小編一起詳細(xì)了解下。
一、JavaScript 中定義數(shù)組的方法
在 JavaScript 中,數(shù)組是可變的有序集合,可通過以下方式定義:
1. 字面量語法
javascriptconst arr1 = []; // 空數(shù)組const arr2 = [1, 2, 3, "hello", true]; // 包含多種數(shù)據(jù)類型
2. 構(gòu)造函數(shù)語法
javascriptconst arr3 = new Array(); // 空數(shù)組const arr4 = new Array(5); // 創(chuàng)建長度為5的空槽數(shù)組(稀疏數(shù)組)const arr5 = new Array(1, 2, 3); // 直接初始化元素
3. 特殊方法
Array.of():避免構(gòu)造函數(shù)因參數(shù)數(shù)量產(chǎn)生的歧義。
javascriptconst arr6 = Array.of(5); // [5],而非長度為5的空數(shù)組
Array.from():從類數(shù)組對象(如 arguments、NodeList)或可迭代對象創(chuàng)建數(shù)組。
javascriptconst arr7 = Array.from("hello"); // ["h", "e", "l", "l", "o"]
二、JavaScript 數(shù)組常用方法
數(shù)組方法可分為 修改原數(shù)組 和 返回新數(shù)組 兩類:
1. 修改原數(shù)組的方法
push() / pop():在末尾添加/刪除元素。
javascriptarr.push(4); // 添加元素,返回新長度arr.pop(); // 刪除末尾元素,返回被刪除的值
unshift() / shift():在開頭添加/刪除元素。
splice():添加/刪除/替換任意位置的元素。
javascriptarr.splice(1, 2, "a", "b"); // 從索引1開始刪除2個(gè)元素,并插入"a","b"
reverse():反轉(zhuǎn)數(shù)組順序。
sort():按 Unicode 碼點(diǎn)排序(可自定義排序規(guī)則)。
javascriptarr.sort((a, b) => a - b); // 升序排序
2. 返回新數(shù)組的方法
?。悖铮睿悖幔?):合并數(shù)組。
javascriptconst newArr = arr1.concat(arr2, [5, 6]);
slice():截取子數(shù)組。
javascriptconst subArr = arr.slice(1, 3); // 包含索引1,不包含索引3
map():對每個(gè)元素執(zhí)行操作并返回新數(shù)組。
javascriptconst doubled = arr.map(x => x * 2);
filter():返回符合條件的元素。
javascriptconst evens = arr.filter(x => x % 2 === 0);
reduce() / reduceRight():累計(jì)計(jì)算。
javascriptconst sum = arr.reduce((acc, cur) => acc + cur, 0);
3. 查詢與遍歷方法
indexOf() / lastIndexOf():查找元素索引。
includes():檢查是否包含某值。
find() / findIndex():返回第一個(gè)滿足條件的元素/索引。
forEach():遍歷數(shù)組(無返回值)。
some() / every():檢查是否至少一個(gè)/全部元素滿足條件。
4. 其他實(shí)用方法
join():將數(shù)組轉(zhuǎn)為字符串。
javascriptconst str = arr.join(", "); // "1, 2, 3"
flat():扁平化嵌套數(shù)組。
javascriptconst flatArr = [1, [2, [3]]].flat(2); // [1, 2, 3]
三、注意事項(xiàng)
數(shù)組是對象類型,typeof [] 返回 "object"。
稀疏數(shù)組(如 new Array(3))可能引發(fā)意外行為,建議避免直接創(chuàng)建。
高階方法(如 map、filter)不會(huì)修改原數(shù)組,但需注意回調(diào)函數(shù)中的副作用。
通過靈活組合這些方法,可以高效處理數(shù)據(jù)集合。
以上就是關(guān)于JavaScript 中定義數(shù)組的方法介紹,每種方法都有其適用的場景,可以根據(jù)具體需求選擇合適的方式來定義數(shù)組,使用展開運(yùn)算符可以在不丟失原有數(shù)組的情況下添加或合并數(shù)組。