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 总结_详解相关推荐

  1. 前端学习笔记(11)之过渡属性(transition)详解

    有四个transition属性可以影响过渡效果 指定要执行过渡的属性 transition-property: 过渡效果持续的时间 transition-duration: 过渡的时序函数 trans ...

  2. Disruptor本地线程队列_实现线程间通信---线程间通信工作笔记001

    Disruptor本地线程队列_实现线程间通信---线程间通信工作笔记001 看到同事用这个东西了,这个挺好用的说是,可以实现,本地线程间的通信,好像在c++和java中都可以用 现在没时间研究啊,暂 ...

  3. JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  4. Android群英传笔记——第十二章:Android5.X 新特性详解,Material Design UI的新体验

    Android群英传笔记--第十二章:Android5.X 新特性详解,Material Design UI的新体验 第十一章为什么不写,因为我很早之前就已经写过了,有需要的可以去看 Android高 ...

  5. [杨可桢]机械设计基础题库 机械设计基础习题 2022机械设计基础考试题答案 杨可桢《机械设计基础》(第7版)笔记和课后习题(含考研真题)详解

    [杨可桢]机械设计基础题库  机械设计基础习题  2022机械设计基础考试题答案-硕达学习网 杨可桢<机械设计基础>(第7版)笔记和课后习题(含考研真题)详解 目录 第1章 平面机构的自由 ...

  6. 前端学习笔记001:HTML5

    HELLO,作为一个只学过一点点 Java 和 Python 的程序小白,为了写出自己的网站,我又一次被自己逼进了前端行业(所以 no zuo no die) 为了方便大(zi)家(ji)学习,整理了 ...

  7. 前端面试笔记11:前端安全之 CSP

    前端安全 CSP 文章目录 前端安全 CSP 什么是 CSP? 如何开启 CSP? CSP 的用途 什么是 CSP? CSP 指的是内容安全策略,它的本质是建立一个白名单,告诉浏览器哪些外部资源可以加 ...

  8. 前端中unescape是什么意思_详解JavaScript中的Unescape()和String() 函数

    JavaScript中的Unescape()和String() 函数详解,具体内容如下所示: 定义和用法 JavaScript unescape() 函数可对通过 escape() 编码的字符串进行解 ...

  9. Python面对对象编程——结合面试谈谈封装、继承、多态,相关习题详解

    1.面向对象的三大特征 封装:属性和方法放到类内部,通过对象访问属性或者方法,隐藏功能的实现细节.当然还可以设置访问权限; 继承:子类需要复用父类里面的属性或者方法,当然子类还可以提供自己的属性和方法 ...

最新文章

  1. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ⑤ ( tasks.json 中的 args 数组配置分析 | 编译并执行 C++ 程序 )
  2. 实现BFS之“营救”
  3. ORACLE TO_CHAR的一个问题
  4. Hi3516A开发--mpp业务分析
  5. 两个byte[]拼接
  6. 品牌管理-JSR303数据校验
  7. 让程序员设计界面的后果
  8. Python使用PyQT制作视频播放器
  9. IntelliJ IDEA 8.1.3 Web开发视频教程
  10. ★LeetCode(1078)——Bigram 分词(JavaScript)
  11. 解决 Illegal DefaultValue null for parameter type integer 异常
  12. SparkStreaming 入门案例之wordcount
  13. 人工智能的Hello World!
  14. C#压缩指定的文件并生成zip文件
  15. java微信公众号上传永久素材_微信开放平台永久素材视频文件上传
  16. 卡方值计算-python代码
  17. Android官方架构组件Navigation:大巧不工的Fragment管理框架
  18. 惠海半导体H7230直接替换BP1371 BP1361方案设计
  19. 「详解」imgaug 图像增强方法
  20. 什么是压降?压降如何计算?

热门文章

  1. STM32F103C8T6单片机IAP升级
  2. SpringBoot创建第一个Web项目——Hello SpringBoot
  3. 大数运算(Java)
  4. 【转】QDockWidget 停靠窗口和工具栏
  5. Office 365 机器人(Bot)开发入门
  6. 蓝天集团董事长郎凤娥专访
  7. Volley缓存说明——一个请求两次回调
  8. 学习笔记——逻辑斯蒂回归与最大熵模型
  9. Ubuntu9.04更新源
  10. 高危bash漏洞来袭,小心你的服务器!