supponiamo Ho il seguente oggetto:Come destrutturarsi in variabili con nome dinamico in ES6?
const user = {
id: 42,
displayName: "jdoe",
fullName: {
firstName: "John",
lastName: "Doe"
}
};
e che voglio solo il id
e fullName
.
farò fare quanto segue:
const { id, fullName } = user
facile peasy, giusto?
Ora supponiamo di voler eseguire la destrutturazione in base al valore di un'altra variabile denominata fields
.
const fields = [ 'id', 'fullName' ]
Ora la mia domanda è: Come posso fare destrutturazione sulla base di una serie di chiavi?
ho spudoratamente provato quanto segue senza successo:
let {[{...fields}]} = user
e let {[...fields]} = user
. C'è un modo in cui ciò potrebbe essere fatto?
Grazie
Ecco una questione connessa su destrutturazione tutte le proprietà: http://stackoverflow.com/ domande/31907970/how-do-i-destructure-all-properties-in-the-current-scope-closure-in-es2015 - Probabilmente la stessa risposta si applica qui – CodingIntrigue
Se i 'campi' sono stati modificati per essere un array vuoto, allora non creerebbe nessuna variabile e qualsiasi codice dopo sarebbe stato messo a repentaglio. L'uso di un const con valori letterali garantisce che il rischio possa essere determinato in anticipo ma qualcosa come 'fields = nonliteralvar' creerebbe problemi. –