Tengo un punto final que devuelve las siguientes propiedades del objeto:
{ "id": "1", "department": "sample", "address": "sample", "email": "sample@email.com", "products": [ { "id": "100", "product_type": "A", "product_category": "sample", "category": "sample" }, { "id": "101", "product_type": "A", "product_category": "sample", "category": "sample" } ] }Estoy haciendo esto en Angular
this.httpService.get<Product>(<my_endpoint>).pipe(map(response => response.data))Necesito eliminar todas las propiedades product_type de la matriz de objetos y mantener el resto intacto. No puedo encontrar si es posible hacer esto solo con las capacidades de filtrado de la biblioteca RxJs.
Dentro de su función de mapa, haga esto:
map((response) =>{ let data = response.data; let products = data.products; products =products.map((product) =>{ delete product['property1']; return product; // without deleted properties; }) data.products =products ; return data; })Puede usar RxJS pluck and map , así como el mapa de matrices y la desestructuración de objetos para eliminar la propiedad innecesaria.
this.httpService.get<Product>(<my_endpoint>).pipe( pluck('data'), map( data => { const products = data.products.map( p => { const {product_type, ...others} = p; return { ...others } }); return { ...data, products } }) ) Nota: no use delete en objetos si puede evitarlo (muta el objeto)