Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

307
Vistas
¿Cómo puedo recorrer una matriz de objetos sin Object.keys()?

Soy un principiante en JavaScript y estoy tratando de resolver este problema sin Object.keys() o cualquier expresión regular. Tengo una solución que funciona, pero me pregunto si hay una mejor manera de llamar a la clave del objeto dentro de la matriz mientras sigue en bucle. Si alguien tiene una manera de hacer esto que sea básico, por favor hágamelo saber.

Problema: cree una función llamada keyCount que acepte dos parámetros, una matriz de objetos y una cadena. La función debe devolver un número que es el número de veces que aparece esa clave en la matriz de objetos.

Resultado esperado: countTimesOfKey([{name:"Sharon"}, {name: "Manish"},{lastName: "Terma"}], "name")) // 2

Mi respuesta:

 function countTimesOfKey(arr, str) { let count = 0 for (let i in arr){ let test = arr[i] let test2 = test[str] if (test2 !== undefined){ count += 1 } } return count }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Puede usar Array.filter para filtrar los elementos de la matriz que tienen str como propiedad (usando Object.hasOwnProperty ), luego devuelva la longitud de la matriz resultante:

 function countTimesOfKey(arr, str) { return arr.filter(e => e.hasOwnProperty(str)).length; } console.log(countTimesOfKey([{ name: "Sharon" }, { name: "Manish" }, { lastName: "Terma" }], "name"))

about 4 years ago · Juan Pablo Isaza Denunciar

0

Por supuesto, usar Object.keys() y la solución de @Spectric son mucho mejores que la siguiente, solo quería mostrar que podemos 'simplificar' esto aún más.


Podemos usar for...in to

  • Bucle sobre cada objeto en la matriz
  • Bucle sobre cada clave del objeto en el índice actual
    • Compare el nombre de cada clave con nuestra variable de control
      • Aumentar nuestro contador
  • return el contador de resultados

 const result = countTimesOfKey([{name:"Sharon"}, {name: "Manish"},{lastName: "Terma"}], "name"); console.log(result); function countTimesOfKey(arr, name) { let counter = 0; for (a in arr) { for (let k in arr[a]) { if (k === name) { counter++; } } } return counter; }

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda