filter函数:是一个用来过滤的函数。通过指定的过滤条件,删选出数组中符合条件的元素,并返回。
map函数:map会返回传入函数return的值。
forEach函数:实现对数组的遍历,和map函数与filter函数不同的是它没有返回值。
区别:
- 首先定义一个对象数组
const students=[ { id: 0, name: 'jack', age: 13 }, { id: 1, name: 'mary', age: 12 }, { id: 2, name: 'sam', age: 12 }, { id: 3, name: 'lisa', age: 15 } ];
- 获取年龄大于13岁的学生,可以通过filter函数对数组进行遍历
students.filter(stu=>{
return stu.age > 13;
});
//=>[{id: 3, name: "lisa", age: 15}]
- 若是使用map函数我们会发现它返回了每一项的判断结果。
students.map(stu=>{
return stu.age > 13;
}); //=> [false, false, false, true]- 我们可以利用map函数去过滤一些不必要的属性
students.map(stu=> stu.id); // [0, 1, 2, 3]