我需要临时跟踪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?
}


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

最佳答案

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
    }
})

10-06 09:53