javascript - react native:如何过滤特定数据?
问题描述
如何通过获取第二个列表来过滤第一个列表:
这是第一个列表数据:
[
{
"stateID": 1,
"name": "Emergency"
},
{
"stateID": 2,
"name": "Madame Green"
},
{
"stateID": 3,
"name": "Madame Yellow"
},
{
"stateID": 4,
"name": "Madame Red"
},
{
"stateID": 5,
"name": "Earthquake"
}
]
这是我想要获得的第二个列表数据:
[
{
"stateID": 1,
"name": "Emergency"
},
{
"stateID": 2,
"name": "Madame"
},
{
"stateID": 5,
"name": "Earthquake"
}
]
这需要是过滤器:
{stateList.filter(option => <Picker.Item label={option.label} key={option.key} value={option.value} />)}
解决方案
对于过滤器我会做如下
let data_first = [
{
"stateID": 1,
"name": "Emergency"
},
{
"stateID": 2,
"name": "Madame Green"
},
{
"stateID": 3,
"name": "Madame Yellow"
},
{
"stateID": 4,
"name": "Madame Red"
},
{
"stateID": 5,
"name": "Earthquake"
}
];
let data_second = [
{
"stateID": 1,
"name": "Emergency"
},
{
"stateID": 2,
"name": "Madame"
},
{
"stateID": 5,
"name": "Earthquake"
}
]
let res = data_first.filter(v=>!(data_second.some(e=>e.stateID === v.stateID)))
console.log(res);
推荐阅读
- python - 使用 python 和烧瓶在 Html 中嵌入 Bockeh 图 - 空白图
- java - 我应该使用 com.google.common.base.Function
- javascript - 'match' 和 'interpolate' 组合的 mapbox 表达式
- python - Simulink 不接收来自 python tcp 服务器的数据
- r - 在 R 中集成带有两个参数的函数
- javascript - 无法从 mongodb 获取值
- python - 试图让程序在 id 之后添加一个字符串
- java - 如何在没有参数的情况下对特定行的 ArrayList 进行排序,以区分该特定元素中的第一个条目和第二个条目?
- python - 在列的行中选择有限的值
- javascript - 向页面添加漂亮的滚动条