Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2014, 14:37
Аспирант
Отправить личное сообщение для Sherminator Посмотреть профиль Найти все сообщения от Sherminator
 
Регистрация: 01.08.2012
Сообщений: 50

Объекты и их свойства
Есть два объекта вида
[B]obj1[/B] = {}
obj1[11].id = 123;
obj1[11].lnkid = 111;
...
obj1[99].id = 321;
obj1[99].lnkid = 999;

и
[B]obj2[/B] = {}
obj2[111].id = 111;
obj2[111].type = permit;
...
obj2[999].id = 999;
obj2[999].type = deny;

Как я могу получить номер ключа объекта obj1 или объект вида obj1[i], если мне необходимо сделать такую операцию

* сравнить значение свойства obj2[i].type (например с permit)
* условие совпало, получаю id текущего объекта (это obj2[i].id равное 111)
* а вот теперь мне нужно найти свойство объекта obj1 cо значением равному obj2[i].id (это будет obj1[11].lnkid равное 111)
* дальше мне нужно получить сам объект obj1[11], чтоб я мог спокойно обратиться к его любому свойству и методу.

Прошу извинить за столь закрученный вопрос, описал как смог

Последний раз редактировалось Sherminator, 02.06.2014 в 15:18. Причина: исправил
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2014, 16:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Sherminator,
мысли вслух
obj1 = {}
obj1[11] = {};
obj1[11].id = 123;
obj1[11].lnkid = 111;
obj1[99] = {};
obj1[99].id = 321;
obj1[99].lnkid = 999;

obj2 = {};
obj2[111] = {};
obj2[111].id = 111;
obj2[111].type = 'permit';
obj2[999] = {};
obj2[999].id = 999;
obj2[999].type = 'deny';

function get_k(obj, str, type)
{  var i;
   type && (i = type)
   for(var k in obj) {
     el = obj[k];
    for(i in el) if (el[i] == str) return k ;
   }
   return false
}
var indx_obj2 = get_k(obj2, 'permit')
//var indx_obj2 = get_k(obj2, 'permit', 'type')
var id = obj2[indx_obj2].id;
var indx_obj1 = get_k(obj1, id)
alert(indx_obj1)
alert(JSON.stringify(obj1[indx_obj1]))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обратиться к значению свойства SA1992 Общие вопросы Javascript 7 17.12.2013 15:36
Изменение css свойства Rumis jQuery 2 21.05.2013 11:55
Поиск неизвестного свойства функцией __set() romantik2011 Серверные языки и технологии 7 03.08.2011 19:26
Получить все свойства как строку. boilroom Events/DOM/Window 1 20.06.2011 17:37
Как при чтении или записи свойства объекта вызывать функцию danik.js Общие вопросы Javascript 3 16.09.2010 17:57