js 中會改變原陣列的方法:
1.push(): 將一個或多個元素新增到陣列的末尾,並返回新的長度。
2.pop(): 刪除陣列的最後一個元素,並返回刪除的元素。
3.shift(): 刪除陣列的第一個元素,並返回刪除的元素。
4.unshift(): 將一個或多個元素新增到陣列的開頭,並返回新的長度。
5.splice(): 從陣列中新增或刪除元素。可以用於刪除、替換或插入元素。
6.fill(): 用指定的值填充陣列中的所有元素。
7.sort(): 對陣列進行排序。
8.reverse(): 顛倒陣列中元素的順序。
9.copyWithin(): 將陣列的一部分元素複製到同一陣列中的另一個位置。
js 中不會改變原陣列的方法:
1.map(): 建立一個新陣列,其結果是呼叫提供的函式對每個元素進行處理。
2.filter(): 建立一個新陣列,其中包含透過所提供函式實現的測試的所有元素。
3.slice(): 返回一個從原始陣列中指定開始和結束位置選擇的新陣列。
4.concat(): 用於合併兩個或多個陣列,並返回一個新陣列。
5.reduce(): 對陣列中的每個元素執行一個提供的累加器函式,將其結果彙總為單個值。
6.join() 方法用於把陣列中的所有元素轉換一個字串,元素是透過指定的分隔符進行分隔的。
7.forEach() 方法用於呼叫陣列的每個元素,並將元素傳遞給回撥函式。
8.findIndex 接收一個測試函式,也可以叫做條件函式,最終返回滿足該測試函式的元素的索引位置,如果沒有找到符合條件的元素,則返回-1。如果滿足條件的有多個,那麼只會返回第一個滿足條件的元素索引。
9.find() 方法返回陣列中滿足提供的測試函式的第一個元素的值。否則返回 undefined。
10.some() 方法返回 true 或 false,表示陣列中是否至少存在一個元素滿足提供的測試函式。該方法接受一個回撥函式作為引數,該回撥函式在陣列的每個元素上執行,並且只要其中一個元素的測試函式返回 true,some() 方法就會立即返回 true。
11.every() 方法也返回 true 或 false,但它要求陣列中的所有元素都必須滿足提供的測試函式。如果有任何一個元素的測試函式返回 false,則 every() 方法會立即返回 false。
es2023 提供 對陣列的純函式方法:
1、排序,sort 方法會對改變原陣列。
toSorted 會返回一個新陣列並且不會改變原陣列。
2、陣列反序,reverse 方法會改變原陣列。
toReversed 會返回一個新陣列並且不會改變原陣列。
3、擷取陣列,splice 方法會改變原陣列。
toSpliced 會返回新陣列並且不改變原陣列。
4、更改陣列的某一項
改變原陣列
arr = [1,2,3]
arr[0] = '哈哈'
with 方法返回新陣列並且不改變原陣列
arr = [1,2,3]
arr.with(0,'h嘿嘿')