js 前端根据多个条件筛选过滤数据
·
js 前端根据多个条件筛选过滤数据
转载@
https://blog.csdn.net/Sunshine_Jian/article/details/121122148
根据筛选条件过滤数据的方法
let data = [ {
name: '名侦探柯南',
price: 13,
num:108,
hot:0,
status:1
}, {
name: '大侦探皮卡丘',
price: 13,
num:151,
hot:1,
status:0
}, {
name: '绿皮书',
price: 13,
num:72,
hot:1,
status:1
} ]
//@param condition 过滤条件
//@param data 需要过滤的数据
let filter=(condition,data)=>{
return data.filter( item => {
return Object.keys( condition ).every( key => {
return String( item[ key ] ).toLowerCase().includes(
String( condition[ key ] ).trim().toLowerCase() )
} )
} )
}
//无条件
var condition={name:'',hot:''};
var aa = filter(condition,data);
console.log(aa);// [{"name":"名侦探柯南","price":13,"num":108,"hot":0,"status":1},{"name":"大侦探皮卡丘","price":13,"num":151,"hot":1,"status":0},{"name":"绿皮书","price":13,"num":72,"hot":1,"status":1}]
//单条件
var condition={name:'侦探'};
var bb = filter(condition,data);
console.log(bb);// [{"name":"名侦探柯南","price":13,"num":108,"hot":0,"status":1},{"name":"大侦探皮卡丘","price":13,"num":151,"hot":1,"status":0}]
//多条件
var condition={name:'侦探',hot:'1'};
var cc = filter(condition,data);
console.log(cc);//[{"name":"大侦探皮卡丘","price":13,"num":151,"hot":1,"status":0}]
// An highlighted block
var foo = 'bar';
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)