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

188
Views
¿Cómo obtengo las claves de un objeto en JavaScript?

Tengo dificultades para trabajar con un objeto devuelto por una llamada de GraphQl a dynamoDB. Le he dado a cada objeto anidado un número para una clave. Es el número que estoy tratando de usar para crear la matriz de claves, usando Object.keys()

 const groupsContext = {"01":{"Status":"Active","Name":"Group 1"},"02":{"Status":"Active","Name":"Group 2"}} let groupKeys = Object.keys(groupsContext) console.log(groupKeys)

Esta es la salida de la consola:

 Array(2897) [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", … ]

Probé esto en codepen y funciona, así que no estoy seguro de qué es diferente. Lo único que se me ocurre es que me falta algo entre crear el contexto de la aplicación e intentar crear las claves a partir del contexto.

Aquí está el código que uso para crear el contexto:

//Archivo de contexto

 import { useContext, createContext } from "react"; export const GroupsContext = createContext(null); export function useGroupsContext() { return useContext(GroupsContext); }

//Aplicación

 import React, { useState, useEffect } from "react"; import { GroupsContext } from "./libs/context/groupsLib"; function App() { const [groupsContext, setGroupsContext] = useState(false); useEffect(() => { onLoad(); }, []); async function onLoad() { let apiGroups try { apiGroups = await API.graphql(graphqlOperation(queries.getQuery, { PK: "Status", SK: "Test" })); setGroupsContext(apiGroups.data.getQuery.FullGroups) } catch (e) { if (e !== "Error") { onError(e); } } } return ( <div> <GroupsContext.Provider value={{ groupsContext, setGroupsContext }}> <Routing /> </GroupsContext.Provider> </div> ) ); } export default App;

//obtenerGrupos

 import { useGroupsContext } from "../../libs/context/groupsLib"; export default function ActiveGroups() { const { groupsContext } = useGroupsContext() let groupKeys = Object.keys(groupsContext) console.log(groupKeys)

Como puede ver, la matriz solo debe tener una longitud de dos. ¿Cómo puedo crear la matriz para mostrar solo las teclas numéricas?

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

0

Gracias a Nick P por sus pensamientos sobre propiedades enumerables. He modificado el código a esto:

 let groupKeys = [] for (const key in groupsContext) { groupKeys.push(`${key}`); } console.log(groupKeys)
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!