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")
}
};
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 arraytimeOptions
y luego asignar el array filtrado a la propiedadoptions
del objetotimeVal
. Aquí está el código actualizado:Esto creará un nuevo array con todos los objetos excepto aquellos con la clave “all” y lo asignará a la propiedad
options
del objetotimeVal
.