JS中的遍歷

班主任發表於2019-11-20

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
複製程式碼

相關文章