Javascript JSON数组按内部属性筛选
我有一个JSON,它具有以下结构。如何根据网络类型过滤其中的对象Javascript JSON数组按内部属性筛选,javascript,json,filter,Javascript,Json,Filter,我有一个JSON,它具有以下结构。如何根据网络类型过滤其中的对象 [ { "101":{ "LAT":"43.348", "LONG":"25.082", "NETWORK":"QR", }, "1
[
{
"101":{
"LAT":"43.348",
"LONG":"25.082",
"NETWORK":"QR",
},
"102":{
"LAT":"43.348",
"LONG":"25.082",
"NETWORK":"PR",
},
"104":{
"LAT":"43.348",
"LONG":"25.082",
"NETWORK":"QR",
}
}
]
试着这样做(ES6):
var数据=[
{
"101":{
“LAT”:“43.348”,
“长”:“25.082”,
“网络”:“QR”,
},
"102":{
“LAT”:“43.348”,
“长”:“25.082”,
“网络”:“公关”,
},
"104":{
“LAT”:“43.348”,
“长”:“25.082”,
“网络”:“QR”,
}
}
];
函数过滤器数据(findkey,findvalue){
var mydata=data;//此处的任何解析
返回Object.keys(mydata[0]).map(函数(键){
返回{key:key,value:mydata[0][key]};
}).过滤器(功能(元件){
返回元素.value[findkey]==findvalue;
}).reduce(函数(结果、元素){
结果[element.key]=element.value;
返回结果;
}, {})
};
log(filterdata(“NETWORK”,“QR”))
您可以先解析json,然后像这样过滤:
const filtered = Object.values(JSON.parse(data)[0]).filter(
it => it.NETWORK === 'QR'
)
请注意,我使用的是
数据[0]
,因为您的数组只有一个项。您知道这是一个只有一个元素的数组吗?您希望如何筛选此阵列?是否要筛选该对象?首先,您应该使用JSON.parse
解析这些数据。