이 기능을 사용해보십시오. 필요에 따라 사용할 수있는 기능이 없습니다 (sum, groupby). 아래 코드를 수동으로 수행해야 할 필요가 있습니다.
var arrCol:ArrayCollection = new ArrayCollection();
arrCol.addItem({"ID":1, "Price":100, "OtherInfo":"info"});
arrCol.addItem({"ID":1, "Price":700, "OtherInfo":"info"});
arrCol.addItem({"ID":2, "Price":100, "OtherInfo":"info"});
arrCol.addItem({"ID":2, "Price":200, "OtherInfo":"info"});
arrCol.addItem({"ID":3, "Price":100, "OtherInfo":"info"});
arrCol.addItem({"ID":3, "Price":400, "OtherInfo":"info"});
arrCol.addItem({"ID":3, "Price":100, "OtherInfo":"info"});
var dic:Dictionary = new Dictionary();
for each (var item:Object in arrCol)
{
if(!dic[item.ID]){
dic[item.ID] = item;
}
else{
var oldSumObj:Object = dic[item.ID];
oldSumObj.Price +=item.Price;
dic[item.ID] = oldSumObj;
}
}
var groupedList:ArrayCollection = new ArrayCollection();
for each (var itemObj:Object in dic)
{
groupedList.addItem(itemObj);
}
출력 될 것이다
"groupedList" mx.collections.ArrayCollection (@27af939)
[0] Object (@8836569)
ID 1
OtherInfo "info"
Price 800 [0x320]
[1] Object (@87a7c71)
ID 2
OtherInfo "info"
Price 300 [0x12c]
[2] Object (@87a7bc9)
ID 3
OtherInfo "info"
Price 600 [0x258]
AarrayCollection 클래스는 그러한 기능이 없다. 배열을 반복하고 합계를 변수에 저장해야합니다. – hidarikani