前端——JS实现多条件过滤数组

这篇博客介绍了如何使用JavaScript来实现对数据的多条件过滤功能。通过`multiFilter`函数,可以根据传入的过滤条件对数组进行筛选,同时`removeEmpty`函数用于移除过滤条件中值为空的对象属性。这种方法在前端开发中常用于数据处理和表格展示等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 通过js实现多条件过滤

//多条件过滤,array是传入的数据,filters是过滤条件
multiFilter(array, filters) {
    filters = me.evtHandlers.removeEmpty(filters);
    const filterKeys = Object.keys(filters)
    return array.filter((item) => {
        return filterKeys.every(key => {
            if (!filters[key].length) return true
            return !!~filters[key].indexOf(item[key])
        })
    })
},
//去掉过滤条件值空的键
removeEmpty(obj) {
    obj = JSON.parse(JSON.stringify(obj))
    for (let k in obj) {
        v = obj[k];
        if (v === '') {
            delete obj[k];
        } else if (v.constructor == Object) {
            me.evtHandlers.removeEmpty(v);
        }
    }
    return obj
},

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前方一片光明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值