首页 > 解决方案 > 如何从 json 格式中获取特定信息?

问题描述

我正在尝试获取occurrenceTypeId =“DANGEROUS_ATTACK_AWAY”的计数。例如,在这种情况下,我想显示 10。我提到这个属性和值的顺序并不总是相同,所以 liveStatistics[3].count 不起作用。

  "liveStatistics": [
                {
                    "occurrenceTypeId": "SHOTS_OFF_TARGET_AWAY",
                    "count": 1
                },
                {
                    "occurrenceTypeId": "SHOTS_ON_TARGET_AWAY",
                    "count": 2
                },
                {
                    "occurrenceTypeId": "CORNERS_HOME",
                    "count": 5
                },
                {
                    "occurrenceTypeId": "DANGEROUS_ATTACK_AWAY",
                    "count": 10
                },
                {
                    "occurrenceTypeId": "CORNERS_AWAY",
                    "count": 3
                },
                {
                    "occurrenceTypeId": "SHOTS_OFF_TARGET_HOME",
                    "count": 1
                },
                {
                    "occurrenceTypeId": "ATTACK_HOME",
                    "count": 35
                },
                {
                    "occurrenceTypeId": "DANGEROUS_ATTACK_HOME",
                    "count": 18
                },
                {
                    "occurrenceTypeId": "GOALS_HOME",
                    "count": 2
                },
                {
                    "occurrenceTypeId": "SHOTS_ON_TARGET_HOME",
                    "count": 6
                },
                {
                    "occurrenceTypeId": "ATTACK_AWAY",
                    "count": 22
                }
            ]

标签: json

解决方案


const liveStatistics = [
                {
                    "occurrenceTypeId": "SHOTS_OFF_TARGET_AWAY",
                    "count": 1
                },
                {
                    "occurrenceTypeId": "SHOTS_ON_TARGET_AWAY",
                    "count": 2
                },
                {
                    "occurrenceTypeId": "CORNERS_HOME",
                    "count": 5
                },
                {
                    "occurrenceTypeId": "DANGEROUS_ATTACK_AWAY",
                    "count": 10
                },
                {
                    "occurrenceTypeId": "CORNERS_AWAY",
                    "count": 3
                },
                {
                    "occurrenceTypeId": "SHOTS_OFF_TARGET_HOME",
                    "count": 1
                },
                {
                    "occurrenceTypeId": "ATTACK_HOME",
                    "count": 35
                },
                {
                    "occurrenceTypeId": "DANGEROUS_ATTACK_HOME",
                    "count": 18
                },
                {
                    "occurrenceTypeId": "GOALS_HOME",
                    "count": 2
                },
                {
                    "occurrenceTypeId": "SHOTS_ON_TARGET_HOME",
                    "count": 6
                },
                {
                    "occurrenceTypeId": "ATTACK_AWAY",
                    "count": 22
                }
            ];


const getCount = (occurenceTypeId) => {
    const item = liveStatistics.find(el => el.occurrenceTypeId === occurenceTypeId);
    if (!item) {
      console.log(`No count found for occurence type id ${occurenceTypeId}`);
      return;
   }
   console.log(item.count)
   return item.count;
};

getCount('DANGEROUS_ATTACK_HOME');
getCount('ATTACK_AWAY');
getCount('RANDOM');
getCount('SHOTS_ON_TARGET_HOME');

您必须.find()对该数组执行 a 才能获得所需的对象。


推荐阅读