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

207
Visualizações
Cómo convertir un objeto en una matriz en Javascript

Tengo el siguiente objeto obj (viene como una respuesta JSON):

 var obj = { 0: { note: 'test1', id: 24759045, createTimeStamp: '2022-08-01T17:05:36.750Z', }, 1: { note: 'test2', id: 24759045, createTimeStamp: '2022-08-01T17:05:51.755Z', }, note: 'test1', id: 24759045, createTimeStamp: '2022-08-01T17:05:36.750Z', };

Solo quiero que los objetos con números ("0", "1" .. etc.) se inserten en una matriz.

A continuación se muestra lo que estoy tratando de hacer:

 let items = []; for (var prop in obj) { items.push(obj[prop]); } console.log(items);

// Rendimiento esperado:

 [ { note: 'test1', id: 24759045, createTimeStamp: '2022-08-01T17:05:36.750Z', }, { note: 'test2', id: 24759045, createTimeStamp: '2022-08-01T17:05:51.755Z', }, ]

Cualquier sugerencia sería muy apreciada.

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Algunas cosas a considerar aquí.

  • ¿Están ordenadas las teclas numéricas?
  • ¿Importa el orden?
  • ¿Son las teclas numéricas un índice del elemento en la matriz?
  • ¿Hay espacios en blanco en las teclas numéricas?

Primera solución, asumiendo que las claves numéricas son el índice en la matriz.

 const items = Object.keys(obj).reduce((acc, key) => { const index = parseInt(key); if (Number.isNaN(index)) { return acc; } acc[index] = obj[key]; return acc; }, []);

Segunda solución, suponiendo que el orden importa, pero que no se garantiza que las teclas numéricas sean contiguas.

 const items = Object.keys(obj) .filter((key) => Number.isNaN(parseInt(key)) === false) .sort() .map((key) => obj[key]);

Tenga en cuenta que Object.keys no garantiza que las claves estén ordenadas alfanuméricamente. Entonces, si el orden importa, entonces debes ordenarlos.

Tercera solución, si el orden no importa.

 const items = Object.keys(obj) .filter((key) => Number.isNaN(parseInt(key)) === false) .map((key) => obj[key]);
about 4 years ago · Santiago Trujillo Relatório

0

 var result = []; var obj = { "0": { "note": "test1", "id": 24759045, "createTimeStamp": "2022-08-01T17:05:36.750Z" }, "1": { "note": "test2", "id": 24759045, "createTimeStamp": "2022-08-01T17:05:51.755Z" }, "note": "test1", "id": 24759045, "createTimeStamp": "2022-08-01T17:05:36.750Z" } for (var i in obj) result.push(obj[i]); $('#result').html(JSON.stringify(result));
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <div id="result"></div>

Puede lograr esto siguiendo los siguientes pasos.

Copié tu objeto a continuación -->

 var obj = { "0": { "note": "test1", "id": 24759045, "createTimeStamp": "2022-08-01T17:05:36.750Z" }, "1": { "note": "test2", "id": 24759045, "createTimeStamp": "2022-08-01T17:05:51.755Z" }, "note": "test1", "id": 24759045, "createTimeStamp": "2022-08-01T17:05:36.750Z" }

Creó una nueva matriz js -->

 var result = [];

Código -->

 for (var i in obj) result.push(obj[i]);

Encuentre la solución en el enlace a continuación también --> :) :)

https://jsfiddle.net/kavinduxo/95qnpaed/

about 4 years ago · Santiago Trujillo Relatório

0

Creo que necesitará obtener las claves del objeto, filtrar las no numéricas y luego asignar cada clave al obj[clave]:

 var obj={"0":{"note":"test1","id":24759045, "createTimeStamp":"2022-08-01T17:05:36.750Z"},"1":{"note":"test2","id":24759045, "createTimeStamp":"2022-08-01T17:05:51.755Z"}, "note":"test1","id":24759045,"createTimeStamp":"2022-08-01T17:05:36.750Z"}; console.log( Object.keys(obj) .filter((key) =>!Number.isNaN(parseInt(key))) .map((key) => obj[key]) )

about 4 years ago · Santiago Trujillo 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