day47-多选过滤

背景

今天有个需求,select下拉框中可以选中多个标签,并将这些标签作为过滤条件。以往都是单条件下拉框过滤,现在需要选择框中有多个选择条件,而且这个条件是动态变化。

代码

let arr = ["1", "3"]
// 数据源
let data = [{ state: 1 }, { state: 2 }, { state: 3 }]
let d = data.filter(v => {
return arr.every(k => {
k = v.state
return arr.indexOf(k.toString()) !== -1
})
})
// console.log(arr.every(v => v === 1))
console.log(d)

参考

[1]. Array.prototype.filter()
[2]. JS 对象数组根据多个条件过滤
[3]. JS中的数组过滤,从简单筛选到多条件筛选

文章作者: lmislm
文章链接: http://lmislm.com/2019/02/26/2019-02-26/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMISLMのBlog