Ich habe mich nur gefragt, ob es eine Möglichkeit gibt, Objektschlüsselwerte mit einem Symbol oder einer Zahl als neuem Namen umzubenennen. Ich weiß, dass Sie ein Objekt wie folgt umbenennen können:
let totalValues = {3V: 2.09, fg%V: 3.02}
const {'3V': threev, 'fg%V': fgV } = totalValues;
totalValues = {threev, fgV };
Gibt es eine Möglichkeit, die Werte so umzubenennen, wenn sie funktionieren?
let totalValues = {3V: 2.09, fg%V}
const {'3V': 3PM, 'fg%V': FG%} = totalValues;
totalValues = {3PM, FG%};
3 Antworten
Sie können Objekte wie den Namen from:to
erstellen
const totalValues = { '3V': 2.09, 'fg%V': 3.02, do_not_rename: 1 };
const renameFromTo = {
'3V': '3PM',
'fg%V': 'FG%',
};
const result = Object.entries(renameFromTo).reduce(
(acc, [from, to]) => ({ ...acc, [from]: undefined, [to]: acc[from] }),
totalValues,
);
console.log(result);
In javaScirpt hat das Benennen von Variablen bestimmte Regeln. Sie können einen Variablennamen nicht mit einer Zahl beginnen oder ein Sonderzeichen außer _
verwenden. Während der Zerstörung erstellen Sie also tatsächlich Variablen, sodass Sie die Regeln befolgen müssen. Überprüfen Sie es
%
ist ein ungültiges Symbol, wenn ein Variablenname deklariert wird. Bei der Benennung von JSON-Objekten ist dies jedoch zulässig.
Sie können so umbenennen und dekonstruieren, solange die Variable, in die Sie umbenennen, legal ist.
Zahlen sind in Variablen gültig, solange sie von einem nicht numerischen Wert begleitet werden.
let totalValues = {'3V': 2.09, 'fg%V': 3.02};
let { 'fg%V': fgv } = totalValues;
console.log(fgv); // 3.02
Viel Spaß beim Codieren!