es6 find()与filter()区别

版权声明:未经本人同意不得私自转载 https://blog.csdn.net/qq_40190624/article/details/85344875

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

猜你喜欢

转载自blog.csdn.net/qq_40190624/article/details/85344875
今日推荐