在JavaScript中创建键/值对的列表

Jav*_*per 0 javascript key-value-coding

我需要暂时跟踪JavaScript中5个对象的状态.每个对象都有一个GUID作为其id.因此,我希望创建一个可以使用的键/值对数组.每对的关键是每个对象的id.每对的值将是一个布尔值.我的问题是,我真的不确定如何在JavaScript中执行此操作.目前,我有以下内容:

var myKeyValuePairs;

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

如何在JavaScript中构建键/值对数组?

Ray*_*nos 8

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

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

或者,如果你真的想使用数组,你可以做类似的事情

var myKeyValuePairs = getMyObjects.map(function (obj) {
    return {
        key: obj.id,
        value: obj
    }
})
Run Code Online (Sandbox Code Playgroud)