Возвращает имя объекта и ключ на основе значения от JSON - PullRequest
0 голосов
/ 05 февраля 2020
        {
      ALBVM1: {
        'C:\\ Drive Space': 2,
        'CPU Load': 2,
        'Hyper-V Replica Health': 2,
        'Hyper-V VM Health': 2,
        'MSRPC - 135': 2,
        'Memory Usage': 2,
        'RDP - 3389': 2,
        Uptime: 2,
        'V:\\ Drive Space': 2,
        'Windows Services': 2
      },
      ALBVM2: {
        'C:\\ Drive Space': 2,
        'CPU Load': 2,
        'Hyper-V Replica Health': 2,
        'Hyper-V VM Health': 2,
        'MSRPC - 135': 2,
        'Memory Usage': 16,
        'RDP - 3389': 2,
        Uptime: 2,
        'V:\\ Drive Space': 2,
        'Windows Services': 2
      }
}

Если значение равно 16 , я хочу получить значения, возвращающие «Использование памяти» и ALBVM2 Можно ли написать функцию для получения вышеуказанных значений

1 Ответ

0 голосов
/ 05 февраля 2020

Вы можете получить свои значения следующим образом:

let result = null
for (const entry in JSON_DATA) {
    console.log(entry, JSON_DATA[entry])
    let entries = Object.entries(JSON_DATA[entry])

    entries.forEach(([entry_key, entry_val]) => {
        if (entry_val === 16) { // replace the 16 with any other variable you wish to search for
            result = [entry_key, JSON_DATA[entry]] // will return 'Memory Usage' and the Object that contains the key value pair, you can replace `JSON_DATA[entry]` with entry if you just want the name of the object
            return
        }
    })
}
console.log(result)

Вы можете заключить это в функцию и изменить искомое строковое значение, чтобы получить другие пары ключ-значение.

Подробнее об этих методах:

...