![](/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.