如何根据同一部分中的另一个字符串从API获取字符串?

时间:2017-03-25 21:12:41

标签: javascript jquery json api

(对不起,如果标题没有多大意义,我不知道如何正确地说出问题,那是我能想到的最佳方式)

所以我有一个返回类似这样的API(steam API):

   {
        "playerstats": {
            "steamID": "76561197962837077",
            "gameName": "ValveTestApp260",
                "stats": [
                    {
                        "name": "total_kills",
                        "value": 3255
                    },
                    {
                        "name": "total_deaths",
                        "value": 4816
                    },
                    ...
                    {
                        "name": "total_shots_hit",
                        "value": 3642
                    }
                    {
                        "name": "total_shots_fired",
                        "value": 4572
                    }
                    ...
                ],
        }
}

所以我想获得total_shots_hittotal_shots_fired的值,但是对于不同的人来说它的顺序不同所以我想知道如何根据每个人的名称获取值板块?我现在正在做的方式是做statsResponse.playerstats.stats[39].value,但它不是每个人的第39位,所以我想知道我会怎么做到的?如果这有用的话,我正在使用JavaScript / jQuery。

感谢任何帮助:)

编辑:弄清楚如何操作,我使用for循环遍历每个响应,直到找到我想要的项目,然后使用该数字找到相同的值

1 个答案:

答案 0 :(得分:0)

您可以使用Array.find()通过其中一个属性查找数组中的对象。

var o = stats.find(function(item) {
    return item.name === 'total_shots_hit';
}

console.log(o.value) // value property, e.g. 3642