1.定义
filter为数组中的每个元素调用一次callback函数,并利用所有使得“callback返回为true的元素”创建一个新数组。
var new_array = arr.filter(callback[,thisArg]);
2.基础用法
var spread = [12,5,8,130,44];
//筛选条件符合大于10的新数组
var filtered = spread.filter(n=> n>=10);
console.log(filtered); //[12,130,44]
3.进阶用法
数组对象的键名/键值的搜索
var users = [
{ 'user': 'barney', 'age': 36, 'active': true },
{ 'user': 'fred', 'age': 40, 'active': false },
{ 'user': 'ared', 'age': 24, 'active': false },
{ 'user': 'ered', 'age': 80, 'active': false },
{ 'abc': 'ered', 'age': 80, 'active': false }
]
// 筛选 age等于40或者age等于24的 数组对象
var filtered = users.filter(n => n.age===40 || n.age===24)
console.log(filtered)
// => [{user: "fred", age: 40, active: false},{user: "ared", age: 24, active: false}]
4.一句话总结
充分利用callback返回true的特点当作“过滤条件”函数,产生新的数组