サーバーサイドJS内に次のようなオブジェクトの配列があります。
[
{
"Company": "IBM"
},
{
"Person": "ACORD LOMA"
},
{
"Company": "IBM"
},
{
"Company": "MSFT"
},
{
"Place": "New York"
}
]
この構造を反復処理し、重複を検出してから、各値の横に重複のカウントを作成する必要があります。
重複として認定するには、両方の値が一致する必要があります。たとえば、「Company」:「IBM」は「Company」:「MSFT」と一致しません。
必要に応じて、オブジェクトのインバウンド配列を変更するオプションがあります。出力をオブジェクトにしたいのですが、これを機能させるのに本当に苦労しています。
編集:これが私がこれまでに持っているコードです。ここで、processArrayは上記の配列です。
var returnObj = {};
for(var x=0; x < processArray.length; x++){
//Check if we already have the array item as a key in the return obj
returnObj[processArray[x]] = returnObj[processArray[x]] || processArray[x].toString();
// Setup the count field
returnObj[processArray[x]].count = returnObj[processArray[x]].count || 1;
// Increment the count
returnObj[processArray[x]].count = returnObj[processArray[x]].count + 1;
}
console.log('====================' + JSON.stringify(returnObj));