/*
filter()
对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,
该数组元素是所有回调函数执行时返回值为 true 的原数组元素。它只对数组中的
非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的
数组也不会包含这些元素。 回调函数可以有三个参数:当前元素,当前元素的索引和当前的数组对象。
*/ // 原始数据
var arrs = [
{
name: "tom",
age: 18,
sex: "boy"
},
{
name: "jim",
age: 19,
sex: "boy"
},
{
name: "anchor",
age: 20,
sex: "boy"
},
{
name: "lucy",
age: 18,
sex: "girl"
},
{
name: "lily",
age: 19,
sex: "girl"
},
{
name: "andy",
age: 20,
sex: "girl"
}
]; // 过滤条件
var limits = {
name: 'tom',
age: 18,
sex: 'boy'
}; // filter回调函数
function dofilter(element, index, array) {
if(limits.name && limits.name != element.name){ // 姓名过滤
return false;
}else if(limits.age && limits.age != element.age){ // 年龄过滤
return false;
}else if(limits.sex && limits.sex != element.sex){ // 性别过滤
return false;
}
return true;
} /* test */
var filtered = arrs.filter(dofilter);
console.log(filtered);

最新文章

  1. HttpContext.Current.Session.SessionID相关问题及备忘
  2. python中获取指定目录下所有文件名列表的程序
  3. 完整安装cocoaPods
  4. CentOS 6.4 查看每个进程的网络流量
  5. 使用RMAN备份数据库
  6. Servlet响应的中文字符集问题
  7. Nginx/LVS/HAProxy负载均衡软件的优缺点详解
  8. TOMCAT服务器不写端口号、不写项目名访问项目、虚拟目录配置
  9. 使用Mybatis Generator自动生成Mybatis相关代码
  10. 新浪微博failed to receive access token
  11. Jquery文本框小例(必填框)
  12. Java 序列化 对象序列化和反序列化
  13. useradd 命令详解
  14. UE4实现描边效果
  15. javascript正则表达式学习(二)--位置匹配
  16. lower_bound( )和upper_bound( )的基本用法
  17. 蓝桥杯近3年初赛题之三(17年b组)
  18. 【Python爬虫实战】微信爬虫
  19. day23-类的封装
  20. 狗日的系统之家下载的Windows 10 1803/1809系统不干净,捆绑自动安装腾讯关键等软件

热门文章

  1. 习题两则的简化(利用for循环)
  2. PHP mb_substr mbstring 函数
  3. java csv文件写入
  4. js封装ajax
  5. linux 查看运行进程详细信息
  6. 史上最全的mysql聚合函数总结(与分组一起使用)
  7. Window Server 2019 配置篇(3)- 建立hyper-v集群并在其上运行win10 pro虚拟机
  8. 如何用naviecat批量创建mysql数据
  9. UVA - 1626 Brackets sequence (区间dp)
  10. BZOJ 3332