javascript - 从数组中检索值的更简单方法

标签 javascript postman

是否有更简单的方法来检索 JSON 响应中的值 "TestProject" 而不是在代码中使用 for 循环?

[
    {
        "Id": "9ac44c1d-0066-47aa-a2a2-a9b90109b0a5",
        "Group": null,
        "DataFields": [
            {
                "Header": "ProjectID",
                "Value": "TestProject"
            },
            {
                "Header": "uui_ConfigPack",
                "Value": "75e8ce5a-7ae0-41ca-86f0-aca1e7158073"
            }
        ],
        "HasDocuments": null
    }
]
var projResults = JSON.parse(responseBody);

var projNumber = 1;

dataProjectId = projResults[projNumber].Id;

projName = 'Not Found';
for (i = 0; i < projResults[projNumber].DataFields.length; i++)
    {
        if(projResults[projNumber].DataFields[i].Header == "ProjectID")
        {
            projName = projResults[projNumber].DataFields[i].Value;
        }
    }

最佳答案

看起来您正在尝试在数组中查找一个对象,最常用的方法是Array.prototype.find:

var projResults = [
    {
        "Id": "9ac44c1d-0066-47aa-a2a2-a9b90109b0a5",
        "Group": null,
        "DataFields": [
            {
                "Header": "ProjectID",
                "Value": "TestProject"
            },
            {
                "Header": "uui_ConfigPack",
                "Value": "75e8ce5a-7ae0-41ca-86f0-aca1e7158073"
            }
        ],
        "HasDocuments": null
    }
];
var projNumber = 0;
const foundObj = projResults[projNumber].DataFields.find(({ Header }) => Header === 'ProjectID');
const projName = foundObj ? foundObj.Value : 'Not Found';
console.log(projName);

关于javascript - 从数组中检索值的更简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54146228/

相关文章:

javascript - 为 Angular $http 请求编写静态回退内容脚本

javascript - 如何更改 html(jade 模板)以在生产中使用 *.min js 和 css?

python - Eve with Postman "must be of list type"错误

node.js - 每当我要登录或注册 strapi 405(方法不允许)消息出现

javascript - 如何在客户端减少 JSON.stringify 使用的内存量?

javascript - 在 Javascript 中返回图像的数据 URI Base64 字符串的函数

javascript - 文件选择器中不显示图像

azure - 处理 directline Tokens 及其 "expires_in"

proxy - 有没有办法仅基于 postman 环境应用代理配置?

ios - 在 iOS 中发送 HTTP PATCH 请求(Objective-c)