假设我有一个对象:
var obj = {
foo:"bar",
fizz:"buzz"
};
Run Code Online (Sandbox Code Playgroud)
我需要动态访问该对象的属性,如下所示:
var objSetter = function(prop,val){
obj[prop] = val;
}
Run Code Online (Sandbox Code Playgroud)
没有问题,除了那些prop需要不区分大小写,如果属性名称被传递到函数中,比如说,Foo而不是foo.
那么如何在不考虑大小写的情况下通过名称指向对象的属性呢?我想尽可能避免迭代整个对象.
枚举定义:
enum Colors {
Red = "red",
Blue = "blue"
}
Run Code Online (Sandbox Code Playgroud)
我如何将一些任意的刺(例如来自 GET 请求的结果)投射到枚举?
const color: Colors = "blue"; // Gives an error
Run Code Online (Sandbox Code Playgroud)
我知道在这里可以使用联合,但是我需要使用一个库,并且在这个库中他们使用的是枚举。所以我必须将我的字符串转换为它们的枚举类型。
另外,为什么整数枚举可以工作,而字符串枚举却没有相同的行为?
enum Colors {
Red = 1,
Blue
}
const color: Colors = 1; // Works
Run Code Online (Sandbox Code Playgroud)