<>最近做了个有意思的需求, 前端实现简单的产品搜索并排序
class SearchList { constructor() { this.showList = [] // 展示的列表数据 this.list = []
// 全部的列表数据 } // 执行搜索 search(key, arr) { let arrTrueList = [], // 匹配的数据
arrFalseList= []; // 不匹配数据 arr.forEach(item => { // 判断输入值key 是否存在对象数组上面 if (this
.loopObj(key, item)) { item.showStatus = true arrTrueList.push(item) } else {
item.showStatus = false arrFalseList.push(item) } }) this.showList = arrTrueList
this.list = arrTrueList.concat(arrFalseList) return this } // 使用递归遍历所有属性判断是否
在对象里面匹配到值 借鉴js对象深拷贝的方式 loopObj(searkey, obj) { let bool = false let loop = (
searkey, obj) => { for (let key in obj) { if (String(obj[key]).trim().indexOf(
searkey) !== -1) { bool = true } if (typeof obj[key] === 'object' && obj[key]
!== null) { loop(searkey, obj[key]) } } } loop(searkey, obj) return bool; } //
获取 展示的列表 getShowList() { return this.showList } // 获取 全部的列表 getList() { return
this.list } } export default new SearchList()

技术
©2019-2020 Toolsou All rights reserved,
MySQL触发器你所不知道的谷歌浏览器 console.log打印技巧3 4j不是合法的python表达式_3+4j不是合法的Python表达式。VHDL——JK触发器算法设计与分析(回溯)登录模块测试用例java 字符串从后向前_Java String字符串总结【linux】shell:简单的shell脚本练习(超详细)Eclipse使用教程——使用Eclipse创建第一个HelloWorld!2021年——第十二届蓝桥杯大赛软件赛国赛C/C++ 大学 C 组