我正在尝试从现有对象中获取一些数据并将其分组为一个新对象。我遇到的问题是检查对象键是否存在,以便我可以创建一个新的,或者将数据附加到现有的。
我发现了一些类似的问题,但没有一个答案有效,所以我有点卡住了。它总是最终发现它不存在并创建重复的键。
我有以下代码,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'
}
]