如何在 javascript 中过滤数组
2020-04-24
46
这是我的两个值的数组。
let dataList = ["x","y","z","a","b"]
let data2= {
x:{hide:true},
y:{hide:true},
z:{},
a:{}
}
这是我的尝试代码:
let filters = dataList.filter(item=>Object.keys(data2).includes(item))
我想根据 data2 - hide:true 过滤 dataList。例如,如果 data2 中的值对象属性 hide:true ,则 key 将被删除。
预期输出:
["z","a"]
2个回答
我相信这很简单
let dataList = ["x","y","z","a","b"]
let data2= {
x:{hide:true},
y:{hide:true},
z:{},
a:{}
}
let filters = dataList.filter(item=> data2[item] && !data2[item].hide)
console.log(filters)
mplungjan
2020-04-24
您可以检查
data2
上是否存在该键,并检查
hide
是否为
true
dataList.filter(item => data2[item] && !data2[item].hide )
Radu Diță
2020-04-24