stream,做减法,优化搜索代码。
来源:互联网 发布:软件版权摘要 编辑:程序博客网 时间:2024/05/22 02:48
做一个搜索,三个输入条件,求这个条件的交集。起初我的思路是按照操作的流程,一步步的来做这三个筛选。
let searchResults = [];//step1 根据id搜索,得到一个子集。if (searchId) { //开始按照id查找,查找目标为allData let eds = allData; searchResults = this._searchWithId(searchId, eds); searchFlag = true;}if (searchTime) { //开始按照searchtime查找,如果searchFlag为true则查找目标为searchResults,否则为allData searchTime = Number(searchTime); if (searchFlag === true) { let srs = []; srs= this._searchWithMilliSeconds(searchId, searchResults ); searchResults = srs; } else { let eds = allData; searchResults = this._searchWithMilliSeconds(searchId, eds); } searchFlag = true;}if (searchWords) { //开始按照searchwords查找,如果searchFlag为true则查找目标为searchResults,否则为allData if (searchFlag === true) { let srs = []; srs = this._searchWithKeyWord(searchId, searchResults ); searchResults = srs; } else { let eds = allData; searchResults = this._searchWithKeyWord(searchId, eds); } searchFlag = true;}let result = searchDataStream;
经过某同事的帮助,采用做减法的思想,数据就像是流一样被filter掉。代码就被缩减了好多。主要是思路和经验,大家看看,细节请忽略
let searchDataStream = allData;if (searchId) { //开始按照id查找,查找目标为_editLineDatas searchDataStream = this._searchWithId(searchId, searchDataStream);}if (searchTime) { //开始按照searchtime查找,如果searchFlag为true则查找目标为searchResults,否则为_editLineDatas searchTime = Number(searchTime); searchDataStream = this._searchWithMilliSeconds(searchTime, searchDataStream);}if (searchWords) { //开始按照searchwords查找,如果searchFlag为true则查找目标为searchResults,否则为_editLineDatas searchDataStream = this._searchWithKeyWord(searchWords, searchDataStream);}let result = searchDataStream;
阅读全文
0 0
- stream,做减法,优化搜索代码。
- 做减法
- 技术做减法
- 所谓做减法
- 【FOJ 1405】 做减法
- 技术做减法
- FZU1405 之 做减法
- 两行代码优化搜索
- 代码中的减法
- 如何给产品做减法
- 给自己人生做减法
- 代码逆向(六)——加法与减法的识别与优化原理
- 假期潜行,减法优化夺优位
- 中小企业是做加法还是做减法
- Google都没有做的搜索功能:代码搜索
- 使用FxCop做代码检查和优化
- 使用FxCop做代码检查和优化
- 代码优化如做游戏一样有趣
- localhost,127.0.0.1 和 本机IP 三者的区别
- AES加密算法之Java简要应用
- 析构函数调用顺序
- Android WiFi开发 (二)分享Wifi热点
- Eclipse打包之FatJar插件
- stream,做减法,优化搜索代码。
- JS自动提交表单
- RadioButton+FrameLayout
- DOM4J详解
- C++地址符ampersand(&)
- Django学习笔记9-使用模板
- hdu2044 一只小蜜蜂...(C语言)
- 9.odoo入门——杂记之views下的xml(一)
- dubbo协议注意事项