对象中键的打字稿名称

时间:2019-01-15 21:15:48

标签: javascript typescript

假设我们有这样的对象:

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之类的对象?
希望它足够清楚可以理解

3 个答案:

答案 0 :(得分:1)

对象的行为有点像数组,因为您可以使用方括号表示法访问存储在特定索引中的值-但在这种情况下,可以使用键或字段代替数字索引。

因此您可以:

LearningRateScheduler

如果要检查foo对象中是否存在'bar'属性,还可以执行以下操作:

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

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

答案 1 :(得分:1)

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

检查密钥是否存在:

if (foo[bar])

或者:

if (foo.hasOwnProperty(bar))

检查属性值是否正确

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

答案 2 :(得分:0)

您可以使用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