假设我有一个对象:
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.
那么如何在不考虑大小写的情况下通过名称指向对象的属性呢?我想尽可能避免迭代整个对象.
var regxp = /[\S]/; //any char, not sure if it's /.*/ or something else
var obj = {
atr1: "bla"
}
var blahs = obj[regxp]; //returns atr1
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种从对象获取方法/属性名称的快捷方式,因为for..in与for循环相比,它比较慢。当我知道对象只有一个方法/属性时,我希望这是一种特殊情况