es6 find()與filter()區別
阿新 • • 發佈:2019-01-07
find 和 filter 都是不改變原陣列的方法
find()函式用來查詢目標元素,找到就返回該元素,找不到返回undefined。返回的是物件
如遇到重複的值只會返回第一次出現的值
var users = [ { name:"alie" }, { name:"carrie" },{ name:"carrie" } ]; var user = []; user = users.find(function(user){ return user.name === "carrie" }) console.log(user)//{name: "carrie"}
filter過濾 返回全部結果仍然是陣列。
const list = [{'name':'1',index:1},{'name':'2'},{'name':'1'}]
let list3 = list.filter(i=>i.name==='1')
console.log(list3)
/*
(2) [{…}, {…}]
0: {name: "1", index: 1}
1: {name: "1"}
length: 2
__proto__: Array(0)
*/