Ho un array di oggetti come segue nel mio lato server JS:JavaScript - Contare i duplicati all'interno di un array di oggetti
[
{
"Company": "IBM"
},
{
"Person": "ACORD LOMA"
},
{
"Company": "IBM"
},
{
"Company": "MSFT"
},
{
"Place": "New York"
}
]
ho bisogno di iterare attraverso questa struttura, rilevare eventuali duplicati e quindi creare un conteggio di un duplicato si trova accanto a ciascun valore.
Entrambi i valori devono corrispondere per qualificarsi come duplicato, ad es. "Società": "IBM" non è una corrispondenza per "Società": "MSFT".
Ho le opzioni di modificare la matrice di oggetti in entrata, se necessario. Vorrei che l'output fosse un oggetto, ma sto davvero lottando per farlo funzionare.
MODIFICA: ecco il codice che ho finora dove processArray è la matrice come elencato sopra.
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));
possibile duplicato di [Rimuovi duplicati da una matrice di oggetti in javascript] (http://stackoverflow.com/questions/2218999/remove-duplicates-from-an-array-of-objects-in-javascript) –
E ** perché ** dovrebbe qualcun altro fare questo lavoro per te? –
@RoyiNamir: hahaha non sono io :) – Sarfraz