简体   繁体   English

如何过滤javascript中的数组

[英]How to filter array in javascript

Here is my array of two values.这是我的两个值的数组。

let dataList = ["x","y","z","a","b"]
let data2= {
  x:{hide:true},
  y:{hide:true},
  z:{},
  a:{}
}

here is my trying code:这是我的尝试代码:

let filters = dataList.filter(item=>Object.keys(data2).includes(item))

I want to filter dataList based data2 - hide:true.我想过滤基于 dataList 的 data2 - hide:true。 For example, if values object property hide:true inside data2, key will be removed.例如,如果值 object property hide:true inside data2,key 将被删除。

expected output:预计 output:

["z","a"]

I believe it is a simple as this我相信这很简单

 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)

You can check if the key exists on data2 and check for hide to be true您可以检查data2上是否存在密钥并检查hide是否为true

dataList.filter(item => data2[item] &&.data2[item].hide )

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM