Javascript 基于条件从数组中删除对象数组
我有如下json数组,需要根据以下条件进行过滤 例如:过滤并获得结果“Attribute1”,其中包含“sad” 例如:筛选并获取“Attribute2”的结果“SubAttribute1”包含“tes” 所有的结合Javascript 基于条件从数组中删除对象数组,javascript,arrays,lodash,Javascript,Arrays,Lodash,我有如下json数组,需要根据以下条件进行过滤 例如:过滤并获得结果“Attribute1”,其中包含“sad” 例如:筛选并获取“Attribute2”的结果“SubAttribute1”包含“tes” 所有的结合 例如:过滤并获取结果“Attribute1”,其中包含“sad” 或“Attribute2”的“SubAttribute1”包含“tes” 或“Attribute3”的“SubAttribute2”包含“tes” 注意:可以通过纯javascript或lodash(首选)完成 你可
例如:过滤并获取结果“Attribute1”,其中包含“sad”
或“Attribute2”的“SubAttribute1”包含“tes”
或“Attribute3”的“SubAttribute2”包含“tes” 注意:可以通过纯javascript或lodash(首选)完成 你可以做:
const data=[{“Attribute1”:[“sada”,“dasa”],“Attribute2”:[{“SubAttribute1”:“Test”,“SubAttribute2”:“sdasd”},{“SubAttribute1”:“sdsadas”,“SubAttribute2”:“sdsad”}],“Attribute3”:[{“SubAttribute1”:“sdasd”,“SubAttribute2”:“dsa”},{“SubAttribute1”:“sadasd”;“SubAttribute2”:“sadas”},”,“SubAttribute2”:“sadas”{“ass[{“子属性1”:“dsad”,“子属性2”:“xcxc”},{“子属性1”:“erew”,“子属性2”:“ERER”}],“属性3”:[{“子属性1”:“SDSDDASD”,“子属性2”:“sdsa”},{“子属性1”:“das”,“子属性2”:“sad”}]
/**
所有的结合。
例如:过滤并获得结果“Attribute1”,其中包含“sad”
或“Attribute2”的“SubAttribute1”包含“tes”
或“Attribute3”的“SubAttribute2”包含“tes”
*/
const result=data.filter(
obj=>/sad/.test(obj.Attribute1.join(','))
||obj.Attribute2.find(obj=>/tes/.test(obj.SubAttribute1))
||obj.Attribute3.find(obj=>/tes/.test(obj.SubAttribute2))
)
console.log(结果)
。作为控制台包装{最大高度:100%!重要;顶部:0;}
您可以执行以下操作:
const data=[{“Attribute1”:[“sada”,“dasa”],“Attribute2”:[{“SubAttribute1”:“Test”,“SubAttribute2”:“sdasd”},{“SubAttribute1”:“sdsadas”,“SubAttribute2”:“sdsad”}],“Attribute3”:[{“SubAttribute1”:“sdasd”,“SubAttribute2”:“dsa”},{“SubAttribute1”:“sadasd”;“SubAttribute2”:“sadas”},{“ass子属性1:“dsad”,“子属性2:“xcxc”},{“子属性1:“erew”,“子属性2:“ERER”}],“Attribute3:[{“子属性1:“SDSDSDAASD”,“子属性2:“sdsa”},{“子属性1:“das”,“子属性2:“sad”}]
/**
所有的结合。
例如:过滤并获得结果“Attribute1”,其中包含“sad”
或“Attribute2”的“SubAttribute1”包含“tes”
或“Attribute3”的“SubAttribute2”包含“tes”
*/
const result=data.filter(
obj=>/sad/.test(obj.Attribute1.join(','))
||obj.Attribute2.find(obj=>/tes/.test(obj.SubAttribute1))
||obj.Attribute3.find(obj=>/tes/.test(obj.SubAttribute2))
)
console.log(结果)
。作为控制台包装{最大高度:100%!重要;顶部:0;}
[
{
"Attribute1": [
"sada",
"dasa"
],
"Attribute2": [{
"SubAttribute1": "Test",
"SubAttribute2": "sdasd"
}, {
"SubAttribute1": "sdsadsadas",
"SubAttribute2": "sdsad"
}],
"Attribute3": [{
"SubAttribute1": "sdasd",
"SubAttribute2": "dsa"
}, {
"SubAttribute1": "sadasd",
"SubAttribute2": "sadas"
}]
},
{
"Attribute1": [
"ass",
"sd"
],
"Attribute2": [{
"SubAttribute1": "dsad",
"SubAttribute2": "xcxc"
}, {
"SubAttribute1": "erew",
"SubAttribute2": "errer"
}],
"Attribute3": [{
"SubAttribute1": "sdsdaasd",
"SubAttribute2": "sdsa"
}, {
"SubAttribute1": "das",
"SubAttribute2": "sad"
}]
}
]