Policz duplikaty w tablicy obiektów
Mam tablicę obiektów w następujący sposób po stronie mojego serwera JS:
[
{
"Company": "IBM"
},
{
"Person": "ACORD LOMA"
},
{
"Company": "IBM"
},
{
"Company": "MSFT"
},
{
"Place": "New York"
}
]
Muszę przejrzeć tę strukturę, wykryć wszelkie duplikaty, a następnie utworzyć licznik duplikatu, który znajduje się obok każdej wartości.
Obie wartości muszą się zgadzać, aby kwalifikować się jako duplikat, np. „Firma”: „IBM” nie pasuje do „Firmy”: „MSFT”.
W razie potrzeby mam możliwość zmiany tablicy przychodzących obiektów. Chciałbym, aby wyjście było obiektem, ale naprawdę staram się, aby to zadziałało.
EDYCJA: Oto kod, który mam do tej pory, gdzie processArray jest tablicą, jak wymieniono powyżej.
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));