簡體   English   中英

用符號或數字重命名 object 鍵解構

[英]Renaming object keys destructuring with a symbol or a number

我只是想知道是否有辦法用符號或數字作為新名稱重命名 object 鍵值。 我知道您可以像這樣重命名 object:

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 object 命名中是合法的。

你可以像這樣重命名和解構,只要你重命名的變量是合法的。

數字在變量中是有效的,只要伴隨着一個非數字值。

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

快樂編碼!

您可以創建 object 像from:to name

 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 中命名變量有特定的規則,你不能以數字開頭變量名或使用除_之外的特殊字符,所以在破壞時你實際上是在創建變量,所以你必須遵守規則。 核實

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM