Web前端工作笔记001---封装前端数据字典_js 数组filter 总结_详解
JAVA技术交流QQ群:170933152 我这里是我封装,前端数据字典的时候,用到的//数据字典 var dic = function () {var dics;$.ajax({async: false,type: "get",url: constant.url.sc_admin.dic,dataType: 'JSON',contentType: "application/json; charset=utf-8",success: function (result) {if (result.code == "200") {dics = (result.data.list);}}});return {getByTypeId: function (groupId) {var dictypes;dictypes = dics.filter(function (item) {return item.type == groupId;});return dictypes;},getByDictId: function (groupId, dictId) {var dictypeids;dictypeids = dics.filter(function (item) {//这里用到的return (item.type == groupId) && (item.name == dictId);});return dictypeids[0];},getByDictValue: function (groupId, dictValue) {var dictypevalues;dictypevalues = dics.filter(function (item) {return (item.type == groupId) && (item.code == dictValue);});return dictypevalues[0];}} }();
--------------------------------------------------------
fi-----------------lter过滤数组
filter()
1.方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
2.不会改变原始数组
var arr = [{ id: 1, text: 'aa', done: true },{ id: 2, text: 'bb', done: false }
]
console.log(arr.filter(item => item.done))
转成ES5
arr.filter(function (item) {return item.done;
});
return后面判断结果,取布尔值,true的话就添入新的filter数组中,false的话,不会添进filter的数组中。
最后得到新的数组是
[{id: 1, text: "aa", done: true}]
var arr = [{ id: 1, text: 'aa', done: true },{ id: 2, text: 'bb', done: '' }
]
console.log(arr.filter(item => item.done))
结果还是一样,因为”空字符串转成布尔类型为false
用处
1.去掉数组中的空字符串项
var arr = ['1.jpg','2.jpg','', '3.jpg',' ']
var newArr = arr.filter(item => item)
console.log(newArr,arr)
newArr => ["1.jpg", "2.jpg", "3.jpg", " "] 空字符串项被过滤掉了
arr => ["1.jpg", "2.jpg", "", "3.jpg", " "]
2.去掉数组中不符合的项
var arr = [73,84,56, 22,100]
var newArr = arr.filter(item => item>80) //得到新数组 [84, 100]
console.log(newArr,arr)
var arr = ['aa','cb','cc', 'bd','rf']
var newArr = arr.filter(item => item.indexOf('b')<0) 不包含b字符串的得到新数组 ["aa", "cc", "rf"]
Web前端工作笔记001---封装前端数据字典_js 数组filter 总结_详解相关推荐
- 前端学习笔记(11)之过渡属性(transition)详解
有四个transition属性可以影响过渡效果 指定要执行过渡的属性 transition-property: 过渡效果持续的时间 transition-duration: 过渡的时序函数 trans ...
- Disruptor本地线程队列_实现线程间通信---线程间通信工作笔记001
Disruptor本地线程队列_实现线程间通信---线程间通信工作笔记001 看到同事用这个东西了,这个挺好用的说是,可以实现,本地线程间的通信,好像在c++和java中都可以用 现在没时间研究啊,暂 ...
- JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】
黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...
- Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验
Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...
- [杨可桢]机械设计基础题库 机械设计基础习题 2022机械设计基础考试题答案 杨可桢《机械设计基础》(第7版)笔记和课后习题(含考研真题)详解
[杨可桢]机械设计基础题库 机械设计基础习题 2022机械设计基础考试题答案-硕达学习网 杨可桢<机械设计基础>(第7版)笔记和课后习题(含考研真题)详解 目录 第1章 平面机构的自由 ...
- 前端学习笔记001:HTML5
HELLO,作为一个只学过一点点 Java 和 Python 的程序小白,为了写出自己的网站,我又一次被自己逼进了前端行业(所以 no zuo no die) 为了方便大(zi)家(ji)学习,整理了 ...
- 前端面试笔记11:前端安全之 CSP
前端安全 CSP 文章目录 前端安全 CSP 什么是 CSP? 如何开启 CSP? CSP 的用途 什么是 CSP? CSP 指的是内容安全策略,它的本质是建立一个白名单,告诉浏览器哪些外部资源可以加 ...
- 前端中unescape是什么意思_详解JavaScript中的Unescape()和String() 函数
JavaScript中的Unescape()和String() 函数详解,具体内容如下所示: 定义和用法 JavaScript unescape() 函数可对通过 escape() 编码的字符串进行解 ...
- Python面对对象编程——结合面试谈谈封装、继承、多态,相关习题详解
1.面向对象的三大特征 封装:属性和方法放到类内部,通过对象访问属性或者方法,隐藏功能的实现细节.当然还可以设置访问权限; 继承:子类需要复用父类里面的属性或者方法,当然子类还可以提供自己的属性和方法 ...
最新文章
- 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )
- 实现BFS之“营救”
- ORACLE TO_CHAR的一个问题
- Hi3516A开发--mpp业务分析
- 两个byte[]拼接
- 品牌管理-JSR303数据校验
- 让程序员设计界面的后果
- Python使用PyQT制作视频播放器
- IntelliJ IDEA 8.1.3 Web开发视频教程
- ★LeetCode(1078)——Bigram 分词(JavaScript)
- 解决 Illegal DefaultValue null for parameter type integer 异常
- SparkStreaming 入门案例之wordcount
- 人工智能的Hello World!
- C#压缩指定的文件并生成zip文件
- java微信公众号上传永久素材_微信开放平台永久素材视频文件上传
- 卡方值计算-python代码
- Android官方架构组件Navigation:大巧不工的Fragment管理框架
- 惠海半导体H7230直接替换BP1371 BP1361方案设计
- 「详解」imgaug 图像增强方法
- 什么是压降?压降如何计算?