點燈坊

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

使用 some() 判斷 Array 符合條件是否存在

Sam Xiao's Avatar 2021-01-02

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

Version

ECMAScript 2015

Array.prototype.some()

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

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

想得知是否 任何 price 大於等於 100 存在,若存在則回傳 true,否則回傳 false,ECMAScript 內建的 Array.prototype.some() 可直接使用。

Array.prototype.some()
判斷 Array 中資料是否存在符合條件資料

some000

Conclusion

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

Reference

MDN, Array.prototype.some()