點燈坊

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

使用 filter() 與 includes() 實作 SQL LIKE

Sam Xiao's Avatar 2024-07-12

SQL 的 LIKE 非常好用,若要在 JavaScript 實現 LIKE,則要搭配 filter()includes()

filter() & includes()

let data = [
  {
    id: 1,
    name: 'John'
  },
  {
    id: 2,
    name: 'Johny',
  },
  {
    id: 3,
    name: 'Sam'
  }
]

let key = 'John'
let result = data.filter(x => x.name.includes(key))

console.warn('result', result)

Line 17

let result = data.filter(x => x.name.includes(key))
  • filter():只有符合條件的 data 才會回傳
  • includes():相當於 SQL 的 %key%,只要 String 內有包含 key 就會回傳 true

Conclusion

  • LIKE 無法在 JavaScript 使用單一 function 完成,需同時搭配 filter()includes()