Поиск нужного значения в ассоциативном массиве объектов из файла JSON
Есть API с данными о серверах в виде JSON файла servers.json. Мне нужно выводить информацию об онлайне только первого сервера на сайт. Индексы в JSON файле могут меняться, поэтому console.log(servers[0]) не подходит. Может как-то устроить проверку значений IP и port и если совпадает с первым сервером, то получать его онлайн.
Мой код:
const requestURL = 'URL для получения JSON файла';
const xhr = new XMLHttpRequest()
xhr.open('GET', requestURL)
xhr.responseType = 'json'
xhr.onload = () => {
servers = xhr.response
console.log(servers)
}
xhr.send()
Файл имеет следующий вид:
[
{
"ip": "194.61.3.51",
"port": 25590,
"online": 20
},
{
"ip": "194.61.3.51",
"port": 25520,
"online": 15
}
]
Ответы (1 шт):
Автор решения: MrYogurt
→ Ссылка
Устанавливаем ip и порт, которые хотим найти и с помощью метода find возвращаем первый элемент, проходящий проверку:
const firstServerIp = "194.61.3.51"
const firstServerPort = 25590
const result = servers.find((server) => server.ip === firstServerIp && server.port === firstServerPort)
return result