2012-03-13 3 views
0

Мне нужно временно отслеживать состояние 5 объектов в JavaScript. Каждый из этих объектов имеет идентификатор GUID в качестве своего идентификатора. Из-за этого я надеялся создать массив пар ключ/значение, с которыми я могу работать. Ключ каждой пары будет идентификатором каждого объекта. Значение каждой пары будет логическим значением. Моя проблема в том, что я действительно не уверен, как это сделать в JavaScript. В настоящее время у меня есть следующее:Создание списка пар ключ/значение в JavaScript

var myKeyValuePairs; 

var myObjects = getMyObjects(); 
for (var i=0; i<myObjects.length; i++) { 
    var id = myObjects[i].id; 
    // What do I do now? 
} 

Как создать массив пар ключ/значение в JavaScript?

+0

Вы можете увидеть ответы на свои проблемы в: http://stackoverflow.com/questions/ 130543/can-any-recommended-a-good-hashtable-implementation-in-javascript http://stackoverflow.com/questions/1208222/how-to-use-dictionary-or-hashtable-in-javascript –

ответ

7
var myKeyValuePairs = {}, 
    myObjects = getMyObjects(), 
    i, obj 

for (i=0, len = myObjects.length; i < len; i++) { 
    obj = myObjects[i] 
    myKeyValuePairs[obj.id] = obj 
} 

Или, если вы действительно хотите использовать массив, который вы могли бы сделать что-то вроде

var myKeyValuePairs = getMyObjects.map(function (obj) { 
    return { 
     key: obj.id, 
     value: obj 
    } 
})