我正在尝试使用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)

10-04 22:55