我正在尝试使用fetch查询从JSON文件中查找一些特定数据,到目前为止,我的代码如下所示:
function newfuntion() {
var my_list = []
fetch("url")
.then(res => res.json())
.then(data => {
x= data.mydata.filter(el => el.Process==="process1")
myvar = x.Shortnum
console.log(myvar)
})
}
我的问题是我将
myvar
定义为shortnum
,它不能将查询范围缩小到Shortnum
。如果我在没有
.shortnum
过滤器的情况下运行此程序,则效果很好。即console.log(x)
将返回进程为process1
的字典。这是JSON文件的示例:
{
"mydata": [
{
"Process": "process1",
"Shortnum": "00000",
"Status": 1,
}
]
}
最佳答案
filter
返回一个数组。您想要的可能是第一个(唯一?)匹配对象。
您可以改用find
:
let x = data.mydata.find(el => el.Process==="process1")
let myvar = x.Shortnum
console.log(myvar)