У меня есть массив объектов, который выглядит следующим образом.jQuery: группирование свойства объекта в зависимости от другого значения свойства
[
{"rel_id": 1,"forward_flag": true,"asset_id":5,},
{"rel_id": 1,"forward_flag": true,"asset_id":8},
{"rel_id": 1,"forward_flag": false,"asset_id":3},
{"rel_id": 2,"forward_flag": true,"asset_id":5,},
{"rel_id": 2,"forward_flag": true,"asset_id":7,},
{"rel_id": 2,"forward_flag": false,"asset_id":9,}
]
Я пытаюсь группе объект, основанный на свойствах rel_id
и forward_flag
. Для тех объектов, чьи rel_id
и forward_flag
такие же, я пытаюсь создать массив значений asset_id
и создать новый объект.
Так после обработки конечный результат будет выглядеть
[
{"rel_id":1,"forward_flag":true,"asset_id":[5,8]},
{"rel_id":1,"forward_flag":false,asset_id:[3]},
...
]
Я пытался добиться того же с помощью JQuery, как это.
preData.forEach(function(item){
var first = item;
preData.forEach(function(compare){
if(compare.rel_id != first.rel_id || compare.forwardFlag!= first.forwardFlag || compare.asset_id != first.assetid) //to make sure same item is not compared
{
if(compare.rel_id == first.rel_id && compare.forwardFlag == first.forwardFlag)
{
//do something here
}
}
})
})
где preData
это массив объектов. Я застрял сейчас и не понимаю, что делать дальше. Есть ли более простые способы достичь этого?
как 'rel_id 'и' forward_flag' будут одинаковыми, булевыми, а один - числом –