Каким образом из jquery можно получить данные элемента массива, зная его id?

Рейтинг: 0Ответов: 1Опубликовано: 29.01.2015

Добрый день.

Есть массив:

mainlist = [
{
"id":"20",
"iName":"Молочный коктейль",
"iCena":"111",
"iDesc":"111",
"categorys_id":"1",
"created_at":"2014-12-13 14:17:25",
"updated_at":"2014-12-13 14:17:25",
"categorys":
{"id":"1","catName":"555","catSort":"2","catDesc":"5555","created_at":"2014-12-11 02:27:01","updated_at":"2014-12-11 07:00:44"}
},
{
"id":"21",
"iName":"Немолочный коктейль",
"iCena":"1",
"iDesc":"111",
"categorys_id":"4",
"created_at":"2014-12-13 14:18:31",
"updated_at":"2014-12-13 15:23:47",
"categorys":
{"id":"4","catName":"666","catSort":"1","catDesc":"Lorem i","created_at":"2014-12-11 06:59:15","updated_at":"2014-12-11 06:59:15"}
}
];

Вопрос в следующем: как, зная id некоторого элемента массива (но не массива сategorys), получить его остальные данные с помощью jquery?

К примеру, я знаю, что у меня есть елемент с id=20. Как получить остальные параметры, к примеру, iName, iDesc?

Ответы

▲ 2

Тут jQuery не нужен. Можно обойтись нативным JS:

arr = JSON.parse(json);

Так вы распарсите JSON. Потом перебором массива:

for(var i in arr) {
    if(arr[i].id == 20) {
        res = arr[i];
        break;
    }
}

Теперь в res у Вас хранится нужный объект. Чтобы обратиться к свойствам - res.iCena, например, где iCena это свойство объекта.