我需要暂时跟踪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中构建键/值对数组?
答案 0 :(得分: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
}
})