for ... of
-
可以用來遍歷陣列,也可以用來改寫元素
const arr = ['1','2','3']; for(const item of arr) { console.log(item); } 複製程式碼
filter
- 不會改動原有的陣列
- 剔除掉不需要的元素
- 將結果放入新陣列
const arr = [12,34,234,23];
const arr2 = arr.filter((item) => {return item >= 30});
// [...arr2] = [34,234]
// 箭頭函式後面不加{} 會自動返回當前值 例:
const arr3 = arr.filter((item) => item >= 30 );
複製程式碼
map
-
和filter一樣不改動原有的陣列
-
可遍歷修改元素,然後返回給新陣列
const arr = [100,100,100]; const arr2 = arr.map((item) => item*0.75); // [...arr2] = [75,75,75] 複製程式碼
reduce
- 進行計算操作
- 求值
- 重複值數量計數
- 按照屬性對陣列進行分組
- 按順序執行promises
- 快速計算
const arr = [1,2,3,4];
const sum = arr.reduce((first, last) => first + last );
// sum = 10
複製程式碼
includes
-
可用於檢查陣列中是否有某個欄位
-
區分大小寫
const arr = ['hello', 'world']; const has = arr.includes('hello'); // has = true 複製程式碼
some
- 檢查陣列中是否存在某些元素,返回值為true或false
- 他和includes() 核心思想相近,不同的是,some的引數必須是函式
const arr = [1,2,34];
const has = arr.some((item) => item >= 2);
// true
複製程式碼
every
- every 和some 使用方法相同
- 不同的是陣列中所有元素符合要求的時候才會返回true,否則返回false
const arr = [1,2,3,4,5];
const allHas = arr.every((item) => irem >= 3);
// false
複製程式碼