Javascript迭代器

It’s hit me like a heart attack.

Walle
漫築蘭格
5 min readMar 31, 2019

--

以下解釋皆參考自卡斯伯,範例則是我自己隨便找喜歡的~

Array.prototype.filter()

filter() 會回傳一個新的陣列到指定變數裡,其條件是 return 後方為 true 的物件,很適合用在搜尋符合條件的資料。

Array.prototype.find()

find() 與 filter() 很像,但 find() 只會回傳一次值,且是第一次為 true 的值。

Array.prototype.forEach()

forEach 是這幾個陣列函式最單純的一個,不會額外回傳值,只單純執行每個陣列內的物件或值。

Array.prototype.map()

使用 map() 時他需要回傳一個值,他會透過函式將回傳的值組合成新的陣列

  • 如果不回傳則是 undefined
  • 回傳數量等於原始陣列的長度

這很適合將原始的變數運算後重新組合一個新的陣列。

Array.prototype.every()

every() 可以檢查所有的陣列是否符合條件,這僅會回傳一個值 true or false

Array.prototype.some()

some() 與 every() 非常接近,都是回傳 true or false,差異僅在 every() 需完全符合,some() 僅需要部分符合

Array.prototype.reduce()

reduce() 可以與前一個回傳的值再次作運算,參數包含以下:

  • accumulator: 前一個參數,如果是第一個陣列的話,值是以另外傳入或初始化的值
  • currentValue: 當前變數
  • currentIndex: 當前索引
  • array: 全部陣列

Array.prototype.keys()

keys() 方法會回傳一個包含陣列中的每一個索引(keys)的新 Array Iterator 物件。

--

--