不区分大小写访问JavaScript属性? [英] Access JavaScript property case-insensitively?
本文介绍了不区分大小写访问JavaScript属性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有一个对象:
var obj = {
foo:"bar",
fizz:"buzz"
};
我需要动态访问该对象的属性,如下所示:
I need to access a property of that object dynamically like so:
var objSetter = function(prop,val){
obj[prop] = val;
}
那里没有问题,除了 prop 如果将属性名称传递给函数,code>需要不区分大小写,例如
Foo
而不是 foo
。
No problems there, except for that prop
needs to be case insensitive in case the property name is passed into the function as, say, Foo
instead of foo
.
那么如何在不考虑案例的情况下按名称指向对象的属性?我想尽可能避免迭代整个对象。
So how can I point to an object's property by name without regard to case? I would like to avoid iterating the entire object if possible.
推荐答案
将obj的所有属性与prop进行比较。
Compare all the properties of obj with prop.
var objSetter = function(prop,val){
prop = (prop + "").toLowerCase();
for(var p in obj){
if(obj.hasOwnProperty(p) && prop == (p+ "").toLowerCase()){
obj[p] = val;
break;
}
}
}
这篇关于不区分大小写访问JavaScript属性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文