es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Eliminar el objeto en su lugar de un array: JS

Tengo una matriz de objetos con la siguiente estructura:

const timeOptions = [
  { key: "all", value: "all", text: "All" },
  { key: "month", value: "month", text: "Month" },
  { key: "year", value: "year", text: "Year" }
];

Estoy creando un nuevo objeto con timeOptions siendo el valor de un campo en él. ¿Cómo eliminar el objeto con la clave “all” in situ mientras se crea el objeto mismo?

const values = {
  timeVal: {
    field: "timestamp",
    label: "Timestamp",
    options: timeOptions
  }
};

Código que intenté

const values = {
  timeVal: {
    field: "timestamp",
    label: "Timestamp",
    options: timeOptions.forEach((k) => delete k["key"] === "all")
  }
};
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para eliminar el objeto con la clave “all” en el lugar mientras se crea el objeto mismo, puedes utilizar el método filter() en el array timeOptions y luego asignar el array filtrado a la propiedad options del objeto timeVal. Aquí está el código actualizado:

    const values = {
      timeVal: {
        field: "timestamp",
        label: "Timestamp",
        options: timeOptions.filter(option => option.key !== "all")
      }
    };
    

    Esto creará un nuevo array con todos los objetos excepto aquellos con la clave “all” y lo asignará a la propiedad options del objeto timeVal.

Comments are closed.