Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

215
Views
¿Cómo atravieso una matriz de objetos y encuentro la cantidad de veces y el nombre del elemento ocurre usando Lodash?

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. ingrese la descripción de la imagen aquí

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: 33

Y 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

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

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...)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!