Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

84
Visualizações
JavaScript cuenta la cantidad de veces que se menciona un valor específico en una matriz de objetos

Estoy buscando una solución a un problema que estoy experimentando actualmente con el bucle sobre una matriz que contiene objetos. Dentro de los objetos secundarios, me gustaría acceder al segundo elemento [2], tome su valor en mi ejemplo a continuación;

ventanas, windows_11, linux_sys

Verifique si existen actualmente dentro de una matriz (la matriz comienza vacía, por lo tanto, agregará los valores si aún no existen, y cuente la cantidad de veces que aparece un "Nombre de software" específico en todos los objetos secundarios.

Aquí hay una entrada de ejemplo de mi matriz JSON y lo que tengo actualmente:

 json_output = [ { "id": "1", "Device Name": "device3", "Software Name": "windows" }, { "id": "2", "Device Name": "device6", "Software Name": "windows" }, { "id": "3", "Device Name": "device11", "Software Name": "windows" }, { "id": "4", "Device Name": "device11", "Software Name": "windows_11" }, { "id": "5", "Device Name": "device11", "Software Name": "linux_sys" } ] new_arr = []; for (var i = 0; i < json_output.length; i++) { new_arr.push(Object.values(json_output[i])[2]); }

Esto está devolviendo una lista que contiene:

 ["windows","windows","windows", "windows_11", "linux_sys"]

Si alguien pudiera ayudarme a crear el siguiente, se lo agradecería mucho. En lugar de una matriz como la que tengo actualmente, me gustaría recrear la siguiente;

 software_name_count [ { "windows": "3" }, { "windows_11": "1" }, { "linux_sys": "1" } ]

Gracias a cualquiera que me ayude a superar este problema. Soy relativamente novato con JS. Si hay más información que se requiere por favor hágamelo saber.

ps: no puedo codificar ninguna sección de este código, como los nombres de software windows, windows_11 y linux_sys.

gracias jorge

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Usar un objeto es más útil que una matriz aquí para guardar los datos. Pero puede convertir si es necesario.

 json_output = [ { "id": "1", "Device Name": "device3", "Software Name": "windows" }, { "id": "2", "Device Name": "device6", "Software Name": "windows" }, { "id": "3", "Device Name": "device11", "Software Name": "windows" }, { "id": "4", "Device Name": "device11", "Software Name": "windows_11" }, { "id": "5", "Device Name": "device11", "Software Name": "linux_sys" } ]; new_obj = {}; for (obj of json_output) { let key = obj["Software Name"]; new_obj[key] = json_output.filter(a => a["Software Name"] == key).length; } console.log( new_obj ); // do you need to format this as an array? if so, do this const new_arr = []; for (const [softwareName, count] of Object.entries(new_obj)) { let row = {[softwareName]: count}; new_arr.push(row); } console.log( new_arr );

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda