![](/img/trans.png)
[英]How can I run a function into an Object by your key name in TypeScript?
[英]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.