json - 如何根据使用角度 7 中的键的条件检查来过滤 json 响应中的数组
问题描述
当dataID与使用Angular 7中的打字稿功能在同一json响应中的另一个数组中的ParentDataID不匹配时,我想从json响应中单独过滤特定数组
{ "data":[
{
"dataId":"Atlanta",
"parentDataId":"America"
},
{
"dataId":"Newyork",
"parentDataId":"America"
},
{
"dataId":"Georgia",
"parentDataId":"Atlanta"
},
{
"dataId":"South",
"parentDataId":"Atlanta"
},
{
"dataId":"North",
"parentDataId":"South"
}
]
}
在上述响应中,dataId Newyork的值与 parentDataId 整个数组 json 响应中的任何一个都不匹配。所以现在我只想过滤掉第二个 DataID 数组来制作新数组。
我想在 Typescript angular 7 中进行此验证
我的输出应该如下所示...... DataId 没有 parentDataId
[
{
"dataId":"Newyork",
"parentDataId":"America"
},
{
"dataId":"Georgia",
"parentDataId":"Atlanta"
},
{
"dataId":"North",
"parentDataId":"South"
}
]
感谢帮助和响应
解决方案
您可以使用filter
方法:
let filterKey = 'Atlanta';
const result = data.data.filter(f=> f.parentDataId != filterKey
&& f.dataId != filterKey);
一个例子:
let data = { "data":[
{
"dataId":"Atlanta",
"parentDataId":"America"
},
{
"dataId":"Newyork",
"parentDataId":"America"
},
{
"dataId":"Georgia",
"parentDataId":"Atlanta"
}
]
};
let filterKey = 'Atlanta';
const result = data.data.filter(f=> f.parentDataId != filterKey
&& f.dataId != filterKey);
console.log(result);
推荐阅读
- mongodb - 如何索引此 MongoDB 表以进行搜索?
- sql - 错误:ORA-00907:缺少右括号 - 你能帮忙找出问题吗
- python - 我想对 discord 中的消息做出反应,然后它应该发送一个嵌入 discord.py
- python - 如何在 JSON 字典列表中附加值?
- python - 根据列值对之间的最近匹配合并两个数据框
- php - PHP 没有在 HTML 中从数据库中获取的值进行处理?
- bash - 可选参数的 case 语句不扩展某些变量
- angular - Angular High Chart - 从 Observable 加载数据
- rust - 在 Rust 中,有没有办法将 `gstreamer::Bin` 子类化,这样我仍然拥有它的原始方法?
- jbpm - 未找到命名查询:UnescalatedStartDeadlines(在简单的工作流程中)