Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как сделать поиск по json? (https://javascript.ru/forum/jquery/60484-kak-sdelat-poisk-po-json.html)

VolodinAS 02.01.2016 23:39

Как сделать поиск по json?
 
Итак, файл принимает такой вот ответ json:


Также есть вот такая таблица:


Красным обозначены команды (team), синим - цвета игроков от 1 до 4 (color). Клетки с номерами идентифицированы как id="player_TEAM_COLOR"

Вот код обработки (осуществляется поиск по json):
for (color=1; color<=4; color++)
			{
				for(team=1; team<=2; team++)
				{
					object = getObjects(response.table, 'team', team);
					//console.log(object);
					for (i=0; i<object.length; i++)
					{	
						if (color == parseInt(object[i].color))
						{
							$('#player_'+team+'_'+color).html(object[i].pid);
						}
					}
				}
			}


Но в результате не хватает 2х номеров:


Подскажите, что не так? Есть ли какой-то метод, вроде mysql, где можно запрос сделать "если team и color соответствуют значениям, вернуть pid игрока"?

P.S. Сама функция поиска (нашел в просторах):
function getObjects(obj, key, val)
{
    var objects = [];
    for (var i in obj)
	{
        if (!obj.hasOwnProperty(i)) continue;
        if (typeof obj[i] == 'object')
		{
            objects = objects.concat(getObjects(obj[i], key, val));
        } else if (i == key && obj[key] == val)
		{
            objects.push(obj);
        }
    }
    return objects;
}

рони 03.01.2016 00:27

Цитата:

Сообщение от VolodinAS
Но в результате не хватает 2х номеров:

так нет их в json -- например нет синего (color=4) во второй команде (team=2)


Часовой пояс GMT +3, время: 07:20.