filter()
概念:顾名思义过滤,遍历一组数组将符合条件的全部筛选出来,返回一个数组,如果没有符合条件的则返回一个空数组。
语法:数组.filter((item,index,arr)=>{})
例:假设有一个对象数组,获取数组中指定年龄的项
varperson = [
{
name: "小红",
age: 12
},
{
name: "小蓝",
age: 12
},
{
name: "星仔",
age: 15
}
];
varfilters1 = person.filter((item)=> {item.age == 12;});
console.log(filters1);
//[{name: "小红", age: 12},{name: "小蓝", type: 12}]
varfilters2 = person.filter((item)=> {item.age == 14;});
console.log(filters2);
//[]
find()
概念:顾名思义找到,遍历一组数组将符合条件的找出来,返回一个对象,只返回第一个符合条件的,如果有两个三个四个只返回第一个找到的,如果没有符合条件的则返回一个undefined
语法:数组.find((item,index,arr)=>{})
例:假设有一个对象数组,获取数组中指定年龄的项
varperson = [
{
name: "小红",
age: 12
},
{
name: "小蓝",
age: 12
},
{
name: "星仔",
age: 15
}
];
varfind1 = person.find((item)=> {item.age == 12;});
console.log(find1);
//{name: "小红", age: 12}
varfind2 = person.find((item)=> {item.age == 14;});
console.log(find2);
//undefined
总结:
filter()和find()的区别是filter()是将符合条件的所有项全部返回出来,返回的是一个数组,如果没有符合条件的则返回一个空数组;find()是将符合条件的第一项返回出来,返回的是一个对象,如果没有符合条件的就是undefined