如何根据数组中字段的值过滤掉数据?

发布于 2022-09-13 00:38:37 字数 878 浏览 9 评论 0

现有一组数据:

data:[
                {
                    name:'阿宝哥',
                    age:'25',
                    sex:'男',
                    money:0,
                    income:0,
                    disburse:0
                },
                {
                    name:'蓉儿',
                    age:'25',
                    sex:'女',
                    money:0,
                    income:0,
                    disburse:20000
                }
            ]

需求:如果某条数据的money、income、disburse的值都是0,则过滤掉这条数据,上述数据过滤结果为:

[
                {
                    name:'蓉儿',
                    age:'25',
                    sex:'女',
                    money:0,
                    income:0,
                    disburse:20000
                }
            ]

有什么非常方便的公共方法处理该类需求?
已知数据中需要判断是否为0的字段名并不相同

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

假装不在乎 2022-09-20 00:38:37
let paramsArr = ['money', 'income', 'disburse']
data.filter(item => !paramsArr.every(key => item[key] == 0))
℉服软 2022-09-20 00:38:37
const data = [
    {
        name: '阿宝哥',
        age: '25',
        sex: '男',
        money: 0,
        income: 0,
        disburse: 0
    },
    {
        name: '蓉儿',
        age: '25',
        sex: '女',
        money: 0,
        income: 0,
        disburse: 20000
    }
]
// 过滤
console.log(data.filter(el => {
    return el.money === 0 && el.income === 0 && el.disburse === 0
}))
眼波传意 2022-09-20 00:38:37
function filterData (data,propName1,propName2,propName3){
  let arr= data.filter(item => !item[propName1]&&!item[propName2]&&!item[propName3])
  return arr
}
素罗衫 2022-09-20 00:38:37
const fun = (paramsArr, arr) => arr.filter(item => !paramsArr.every(key => item[key] == 0))
fun(['money', 'income', 'disburse'], data)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文