我有一個函數,它遍歷一些對象,然後我想使用被迭代的對象的變量名。目前我維護一個重複的名稱列表,並通過數組索引引用它們。這似乎沒有必要。整個事情都在一個圈地裏。由另一個變量引用變量名,或從變量確定變量名
原則上,我可以看到兩種方式來做到這一點。
一個是使用名稱列表,並以某種方式引用名爲這樣的變量,另一個是以某種方式從變量本身(保存在數組中)確定變量名稱。
這是可能的,還是我應該看一個完全不同的方法?
(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 }
}())