-1
いくつかの操作の後に私の応答です。 empidに基づいて、私は地区、製品をグループ化し、SMSとwhatsappの数を取得したい。JavaScriptで共通のプロパティをグループ化するにはどうすればよいですか?
[
{
"_id": {
"empid": "sindhu",
"district": "Hyderabad",
"product": "Fair Fertilizers"
},
"sms": 1
},
{
"_id": {
"empid": "nagaraju",
"district": "Guntur",
"product": "Fair Fertilizers"
},
"sms": 2
},
{
"_id": {
"empid": "sindhu",
"district": "Hyderabad",
"product": "Fair Fertilizers"
},
"whatsapp": 2
},
{
"_id": {
"empid": "sindhu",
"district": "Krishna",
"product": "Fair Fertilizers"
},
"whatsapp": 2
}
]
上記のデータは、次のような形式で入力します。
[
{
"sindhu":[
{
"district": "Hyderabad",
"product": "Fair Fertilizers",
"sms": 1,
"whatsapp": 2
},
{
"district": "Krishna",
"product": "Fair Fertilizers",
"whatsapp": 2
},
]
},
{
"nagaraju" : [
{
"district": "Guntur",
"product": "Fair Fertilizers",
"sms": 2
}
]
}
]
私は以下のコードを試してみたいです。しかし、私はそれを得ていませんでした。
var groups = Object.create(null);
for (var i = 0; i < allTools.length; i++) {
var item = allTools[i];
if(!groups[item._id]) {
groups[item._id] = [];
}
groups[item._id].push({
district: item.district,
product: item.product,
sms: item.sms,
whatsapp: item.whatsapp,
mailing: item.mailing,
telecalling: item.telecalling,
enquiry: item.enquiry
});
}
var data = [];
for (var x in groups) {
var obj = {};
obj[x] = groups[x];
data.push(obj);
}
の可能性のある重複した[オブジェクトのjavascript配列にGROUPBYするための最も効率的な方法は何ですか?](https://stackoverflow.com/questions/14446511/what-is-the一番効率的なメソッドからグループへのオブジェクトの配列) – Rajesh
いくつかの考えを試してみてください。 –
@ NinaScholz、私は質問を編集しました。それを調べてください。 –