我有一个函数,它遍历一些对象,然后我想使用被迭代的对象的变量名。目前我维护一个重复的名称列表,并通过数组索引引用它们。这似乎没有必要。整个事情都在一个圈地里。由另一个变量引用变量名,或从变量确定变量名
原则上,我可以看到两种方式来做到这一点。
一个是使用名称列表,并以某种方式引用名为这样的变量,另一个是以某种方式从变量本身(保存在数组中)确定变量名称。
这是可能的,还是我应该看一个完全不同的方法?
(function(){
var a = {p:true,b:true};
var b = {em:true,i:true};
var c = {h1:true,strong:true};
var x = function(tagName){
var typedefnames = ["a","b","c"]
var typedefs = [a,b,c];
var types = {}
var i;
for(i=0; i<typedefs.length; i++)
if(typedefs[i][ tagName ])
types[ typedefnames[i] ] = true
else
types[ typedefnames[i] ] = false
return types;
}
console.log(x("p"))
// { a:true, b:false, c:false }
}())