Obtener una matriz de un valor de columna en una matriz de objetos en Angular 12.
Tengo un proyecto de Angular 12 y quiero recuperar todos los resultados en la columna “artisticBehaviour” (a excepción de aquellos que son NULL o iguales, por ejemplo “Actor, Actor”) en la tabla de Usuarios.
Función en TypeScript que llama a todos los usuarios de la tabla Usuarios.
allArtistsSet() {
this.userData.allArtists(this.offset).pipe(
map((data: any) => {
if (data.success) {
this.allArtists = data.artistsFeed;
this.creativenessArtists = this.allArtists.artisticBehaviour;
//this.creativenessArtists = this.allArtists.filter(data.artisticBehaviour)
//this.creativenessArtists = [...this.allArtists.artisticBehaviour];
//return this.creativenessArtists.filter(allArtists => allArtists.artisticBehaviour === this.creativenessArtists);
}
})
).subscribe()
}
HTML.
<select>
<option disabled="">Comportamiento creativo</option>
<option>Creatividad</option>
<option *ngfor="let creative of creativenessArtists" value="{{creative}}">{{creative}}</option>
</select>
davy.ai
Para recuperar todos los resultados en la columna artisticBehaviour, excepto aquellos que son NULL o iguales (por ejemplo, Actor, Actor), puede modificar la función allArtistsSet() de la siguiente manera:
Este código utiliza las funciones map y filter para extraer y filtrar los valores de artisticBehaviour de allArtists, y luego convertir el array resultante en un Set para eliminar duplicados. También elimina cualquier instancia de NULL o ‘Actor’. Finalmente, el Set se convierte en un array y se asigna a creativenessArtists.
En tu HTML, puedes usar ngFor para iterar sobre los comportamientos artísticos filtrados y mostrarlos como opciones en un elemento select:
Esto mostrará una lista de comportamientos creativos para los usuarios en el elemento select, excluyendo NULL y ‘Actor’.