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