我正在尝试从现有对象中提取一些数据并将其分组到一个新对象中。我遇到的问题是检查对象键是否存在,以便我可以创建一个新的对象,或将数据附加到现有对象。
我发现了一些类似的问题,但是没有答案适用于我的情况,所以我有点困惑。它总是最终发现键不存在并创建重复的键。
我有以下代码,其中xxx
是我需要检查键是否存在的地方:
var groups = [];
for (var i=0; i<something.length; i++) {
var group_key = 'group_'+something[i].group_id;
if (xxx) {
// New group
var group_details = {};
group_details[group_key] = {
group_name: something[i].group_name,
items: [
{ 'name': something[i].name }
]
};
groups.push(group_details);
} else {
// Existing group
groups[group_key].items.push({
'name': something[i].name
});
}
}
我传递的something
非常简单,基本上是以下格式:
[
{
group_id: 3,
group_name: 'Group 3',
name: 'Cat'
},
{
group_id: 3,
group_name: 'Group 3',
name: 'Horse'
},
{
group_id: 5,
group_name: 'Group 5',
name: 'Orange'
}
]