簡體   English   中英

對象中鍵的打字稿名稱

[英]Typescript name of key in Object

假設我們有這樣的對象:

foo = {
   "currency": "dollar"
}

是否可以檢查對象的值是否存在並且等於美元? 例如:

const bar = currency;

那么如何將bar的值傳遞給foo path? 還是使用任何應用作$ bar的語法? 我不想將$ bar作為路徑名傳遞,而將bar的值作為路徑傳遞。

foo.$bar? true: false
in result  foo.currency === true or false

甚至可能還有另一個對象,例如:

anotherobject.anotherpath.$(getKey(foo))

獲得像anotherobject.anotherpath.currency這樣的對象?
希望它足夠清楚地理解

對象的行為有點像數組,因為您可以使用方括號表示法訪問存儲在特定索引中的值-但在這種情況下,可以使用鍵或字段代替數字索引。

所以你可以:

const foo = { "currency": "dollar" };
const bar = "currency"

if (foo[bar] == "dollar") { /* do something */ }

如果要檢查foo對象中是否存在'bar'屬性,則還可以執行以下操作:

const foo = { "currency": "dollar" };
const bar = "currency"

// will check if foo.bar exists
if (foo.hasOwnProperty(bar)) {/* do something */}
var foo = {
   "currency": "dollar"
};
var bar = "currency";

檢查密鑰是否存在:

if (foo[bar])

要么:

if (foo.hasOwnProperty(bar))

檢查屬性值是否正確

if (foo[bar] == "dollar")

您可以使用Object.values()

示例如下:

var foo = {
   "currency": "dollar"
};
var bar = "currency";


console.log(Object.values(foo).indexOf(bar) >= 0); //false
console.log(Object.keys(foo).indexOf(bar) >= 0); //true

暫無
暫無

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

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