前端——JS實現多條件過濾數組


 通過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
},


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM