¿Sabe cómo puedo registrar en la consola el ejemplo de interfaz sin m y n ? Debajo de la interfaz de dos está en un archivo.
export interface example { readonly a: string; readonly b: F | undefined; readonly c: G | undefined; readonly d?: boolean; readonly e: H | undefined; } export interface F { readonly i: string; readonly j: q; readonly k: string | undefined; readonly l: r; readonly m: s | undefined; readonly n: t | undefined; readonly o: y | undefined; readonly p: v[] | undefined; }Abajo está en otro archivo
import { example } from 'src/modules/ex'; exampleInfo: example | undefined; console.log( exampleInfo.a + exampleInfo.bi + exampleInfo.bj + exampleInfo.bk + exampleInfo.bl + exampleInfo.bo + exampleInfo.bp + exampleInfo.c + exampleInfo.d+ exampleInfo.e)Actualmente, el registro de la consola es muy largo y fácil de cometer errores. También quiero incluir la clave (a, b, c, o, p... etc.), no solo el valor. Si simplemente escribo
console.log(exampleInfo);Puedo obtener el resultado que quiero (con todos los pares de clave y valor). Sin embargo, está incluido el m&n que no quiero.
También he intentado destruirlo.
const {m,n, ...otherChar} = exampleInfo;Pero me da error:
"Property 'm' does not exist on type 'example | undefined'.O
const {Fm,Fn, ... otherChar} = exampleInfo;Pero todavía error:
"Property 'F' does not exist on type 'example | undefined'.También probé esto:
const {m,n, …otherChar} = exampleInfo.b;Error cambiado a:
Property 'm' does not exist on type 'F | undefined'.¿Cómo debo destruirlo? o hay alguna otra forma de registrarlos??
Pruebe console.log(JSON.stringify(example))
Editar
Lo siento, no vi claramente el requisito. No estoy seguro de que esta sea la solución óptima, pero espero que ayude.
let b = Object.fromEntries(Object.entries(example.b).filter(x => x[0] != 'm' && x[0] != 'n')); const result = {...example}; result.b = b; console.log(JSON.stringify(result));