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

327
Visualizações
Iterar a través del mapa y eliminar la entrada cuyo valor está vacío (usando Javascript)

Tengo debajo del objeto del mapa de la siguiente manera

 let monthMap = [ { "key": "Oct 2021", "value": [] }, { "key": "Dec 2021", "value": [ "2021-12-06T08:00:00.000Z", "2021-12-13T08:00:00.000Z", "2021-12-20T08:00:00.000Z", ] }, { "key": "Jan 2022", "value": [ "2022-01-03T08:00:00.000Z", "2022-01-10T08:00:00.000Z", ] }, { "key": "Feb 2022", "value": [ "2022-02-07T08:00:00.000Z", ] } ]

Quiero eliminar el par de valores clave de este objeto de mapa cuyo valor es una matriz vacía. por ejemplo, la clave de Oct 2021 tiene un valor vacío. entonces quiero eliminar esa entrada del objeto del mapa.

¿Puede alguien decirme cómo iterar a través de él y eliminar los datos de valor vacíos?

No he iterado a través de un objeto de mapa e intenté algunas formas en línea, pero no pude iterar a través de él.

Formas en que probé:

 for (const [key, value] of monthMap.entries()) { console.log(key, value); } for (const [key, value] of Object.entries(monthMap)) { console.log(key, value); }

¿Puede alguien decirme cómo iterar y eliminar entradas dinámicamente?

No estoy seguro si estoy usando la estructura correcta de monthMap, pero así es como se muestra en el registro de la consola

ingrese la descripción de la imagen aquí

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

0

usar el método de filtro de matriz

 filteredMonthMap = monthMap.filter((month)=>{month.value && month.value.length !== 0;})

la condición dentro del método de filtro significa que el valor tiene un valor real y su longitud no es 0. tenga cuidado con el tipo de datos de la propiedad del valor, debe ser una matriz.

about 4 years ago · Santiago Trujillo Relatório

0

Podrías usar el filter para lograr lo mismo. Compruebe la longitud de las matrices de value dentro de la devolución de llamada.

Más información sobre el filter : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

Editar:

Si la entrada es un mapa, entonces debe convertir el mapa en pares de valores clave, filtrar el resultado y luego volver a convertirlo en un mapa.

 let monthArr = [ { key: "Oct 2021", value: [] }, { key: "Dec 2021", value: [ "2021-12-06T08:00:00.000Z", "2021-12-13T08:00:00.000Z", "2021-12-20T08:00:00.000Z" ] }, { key: "Jan 2022", value: ["2022-01-03T08:00:00.000Z", "2022-01-10T08:00:00.000Z"] }, { key: "Feb 2022", value: ["2022-02-07T08:00:00.000Z"] } ]; const result = monthArr.filter((item) => { const { value } = item; if (value.length) return item; }); console.info(`Month as an array`, result); const inputMap = new Map([ ["Oct 2021", []], [ "Dec 2021", [ "2021-12-06T08:00:00.000Z", "2021-12-13T08:00:00.000Z", "2021-12-20T08:00:00.000Z" ] ], ["Jan 2022", ["2022-01-03T08:00:00.000Z", "2022-01-10T08:00:00.000Z"]], ["Feb 2022", ["2022-02-07T08:00:00.000Z"]] ]); const map1 = new Map([...inputMap].filter(([k, v]) => v.length)); console.info(`Month as a map`, [...map1]);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

about 4 years ago · Santiago Trujillo Relatório

0

Puedes hacerlo usando Array.prototype.filter .

 const monthMap = [{key:"Oct 2021",value:[]},{key:"Dec 2021",value:["2021-12-06T08:00:00.000Z","2021-12-13T08:00:00.000Z","2021-12-20T08:00:00.000Z",]},{key:"Jan 2022",value:["2022-01-03T08:00:00.000Z","2022-01-10T08:00:00.000Z",]},{key:"Feb 2022",value:["2022-02-07T08:00:00.000Z"]}], result = monthMap.filter((m) => m.value?.length); console.log(result);

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