Tengo una matriz de objetos de la siguiente manera dentro de mi lado del servidor JS:JavaScript - Count duplicados dentro de una matriz de objetos
[
{
"Company": "IBM"
},
{
"Person": "ACORD LOMA"
},
{
"Company": "IBM"
},
{
"Company": "MSFT"
},
{
"Place": "New York"
}
]
necesito iterar a través de esta estructura, detectar duplicados y luego crear una cuenta de un duplicado se encuentra junto a cada valor.
Ambos valores deben coincidir para calificar como un duplicado, p. Ej. "Empresa": "IBM" no concuerda con "Compañía": "MSFT".
Tengo la opción de cambiar la matriz de entrada de objetos si es necesario. Me gustaría que la salida sea un objeto, pero realmente estoy luchando para que esto funcione.
EDITAR: Aquí está el código que tengo hasta ahora donde processArray es la matriz como se indica más arriba.
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));
posible duplicado de [Eliminar duplicados de una matriz de objetos en javascript] (http://stackoverflow.com/questions/2218999/remove-duplicates-from-an-array-of-objects-in-javascript) –
Y ** ¿por qué ** debería alguien más hacer este trabajo por usted? –
@RoyiNamir: jajaja no soy yo :) – Sarfraz