點燈坊

失くすものさえない今が強くなるチャンスよ

使用 every() 判斷 Array 是否全部符合條件

Sam Xiao's Avatar 2020-12-30

實務上我們常需判斷 Array 是否 全部 符合某條件,若存在則傳回 true,若不存在則傳回 false,ECMAScript 提供了 every() 可判斷。

Version

ECMAScript 2015

Array.prototype.every()

let data = [
  { title: 'FP in JavaScript', price: 100 },
  { title: 'RxJS in Action', price: 200 },
  { title: 'Speaking JavaScript', price: 300 }
]

data.every(x => x.price >= 100) // ?

想得知是否 所有 price 都大於等於 100,若成立則回傳 true,否則回傳 false,ECMAScript 內建的 Array.prototype.every() 可直接使用。

Array.prototype.every()
判斷 Array 中資料是否全部資料符合條件

every000

Conclusion

  • Array.prototype.every() 相當於 Ramda 的 all(),只是 every() 為 Method Chaining,而 all() 為 Function Pipeline

Reference

MDN, Array.prototype.every()