Relacionado con mi otra pregunta, ¿dónde está la imagen ? ¿Cómo me deshago del PROTOTIPO en mi nuevo objeto JSON de una matriz?
Quiero poder hacer lo siguiente:
Llevando esto un paso más allá...
Cada uno de esos MERCADOS (nombre, displayName) que son iguales por ahora, tienen de 1 a "n" artículos dentro de ellos. 
Entonces, quiero CONTAR cuántos ARTÍCULOS hay dentro o repetidos.
Por ejemplo:
NAME: "IL" may have 300 NAME: "WA" may have 1000 NAME: "OR" may have 100 and so on.Dentro de estos objetos, está la palabra MERCADO. El mercado es lo que está arriba: IL, WA, CA, etc. son MERCADOS así:
[ { ID: 1, NAME: "SomeName1", MARKET: "IL", LOCATION: "6 Miles east" }, { ID: 2, NAME: "SomeName2", MARKET: "IL", LOCATION: "36 Miles east" }, { ID: 3, NAME: "SomeName3", MARKET: "WA", LOCATION: "3 Miles west" }, { ID: 4, NAME: "SomeName4", MARKET: "WA", LOCATION: "33 Miles west" }, { ID: 5, NAME: "SomeName5", MARKET: "OR", LOCATION: "23 Miles north" }, ... ]Quiero agregar un conteo a la función MAP que recibí como solución:
const newObj = newMarketArray.map(e => ({ name: e, displayName: e }));Entonces, cuando los valores aparecen como en la imagen de arriba, puedo obtener el número de ocurrencias de WA, IL y OR, por ejemplo.
El JSON final debe tener un elemento adicional:
displayName: WA, name: WA, count: 33Y finalmente, quiero ORDENAR los valores del objeto JSON, lo que probablemente sea muy fácil.
ACTUALIZACIÓN: Se planteó una pregunta de que el MAP
const newObj = newMarketArray.map(e => ({ name: e, displayName: e }));Es falso. Eso no es cierto. Devuelve los valores de la IMAGEN. Así que eso ciertamente no es falso.
Todo lo que necesito es CONTAR el número de instancias, por ejemplo, aparece CA y colocarlo así:
const newObj = newMarketArray.map(e => ({ name: e, displayName: e, count: somecount }));FYI: newMarketArray contiene más de 3300 objetos
Si he entendido bien lo que quieres:
newMarketArray = [ { ID: 1, NAME: "SomeName1", MARKET: "IL", LOCATION: "6 Miles east" }, { ID: 2, NAME: "SomeName2", MARKET: "IL", LOCATION: "36 Miles east" }, { ID: 3, NAME: "SomeName3", MARKET: "WA", LOCATION: "3 Miles west" }, { ID: 4, NAME: "SomeName4", MARKET: "WA", LOCATION: "33 Miles west" }, { ID: 5, NAME: "SomeName5", MARKET: "OR", LOCATION: "23 Miles north" } ] let objCount = newMarketArray.reduce((acc, obj) => { acc[obj.MARKET] = (acc[obj.MARKET] || 0) + 1; return acc; }, {}); console.log(objCount); let arrResult = Object.keys(objCount).map(k => ({'name': k, 'displayName': k, 'count': objCount[k] })); console.log(arrResult)Después de eso, puedes ordenar el diccionario como quieras (por el valor que quieras...)