1. 程式人生 > >ES6 find 和 filter 的區別

ES6 find 和 filter 的區別

遇到個功能是要分類就想說在前端過濾,不要從查資料庫的時候過濾了。然後就想說除了filter還有啥好用的

發現有個find,測試一番之後發現

const list = [{'name':'1',index:1},{'name':'2'},{'name':'1'}]
let list2 = list.find(i=>i.name==='1') 

let list3 = list.filter(i=>i.name==='1')

console.log(list); [ { name: '1', index: 1 }, { name: '2' }, { name: '1' } ]
console.log(list2); { name: '1', index: 1 }

console.log(list3);[ { name: '1', index: 1 }, { name: '1' } ]

find 和 filter 都是不改變原陣列的方法

但是find只查出第一個符合條件的結果像例子裡是直接返回了一個物件而不是陣列!

,而filter返回全部結果仍然是陣列。

注:以後遇到問題,不忙的時候立馬就記下來,方便以後查詢,不論簡單還是難。