Как извлечь определённый объект json по одному из его значений?

У меня есть файл json
{"id1":{"game":1,"name": "name"}, "id2":{"game" :2,"name":"name2"}...}

Как я могу извлечь объект от туда если знаю значение game
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
twobomb
@twobomb
function find(arr,key,val){
	for(var k in arr){
    	if(k == key && arr[k] == val)
      	return arr;
  	if(typeof(arr[k]) == "object" ){
    	var r = find(arr[k],key,val);
      if(r)
      	return r;    
    }
  }
  return null;
}
 find(JSON.parse(str),"game",1)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
const objToFilter = {
  "id1": {
    "game": 1,
    "name": "name"
  },
  "id2": {
    "game": 2,
    "name": "name2"
  },
}
const desiredObject = objToFilter[Object.keys(objtoFilter).filter(key => objToFilter[key].game === 2)]
console.log(desiredObject)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы