1. 程式人生 > >es6 find()與filter()區別

es6 find()與filter()區別

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)
*/