重命名使用符号或数字进行解构的对象键



我只是想知道是否有一种方法可以用符号或数字作为新名称重命名对象键值。我知道你可以这样重命名一个对象:

let totalValues = {3V: 2.09, fg%V: 3.02}
const {'3V': threev, 'fg%V': fgV } = totalValues;
totalValues = {threev, fgV };

有没有一种方法可以在它工作的情况下重命名这样的值?

let totalValues = {3V: 2.09, fg%V}
const {'3V': 3PM, 'fg%V': FG%} = totalValues;
totalValues = {3PM, FG%};

%在声明变量名时是无效符号,但在JSON对象命名中是合法的。

你可以像这样重命名和解构,只要你要重命名的变量是合法的。

只要伴随有非数值,数字在变量中是有效的。

let totalValues = {'3V': 2.09, 'fg%V': 3.02};
let { 'fg%V': fgv } = totalValues;
console.log(fgv); // 3.02

快乐编码!

您可以创建类似from:to名称的对象

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);

在javaScirpt中,命名变量有特定的规则,不能以数字开头变量名,也不能使用除_之外的特殊字符,因此在破坏时,实际上是在创建变量,因此必须遵守规则检查

最新更新