我想創建C類型枚舉,值自動從0開始。
以下代碼有什麼問題?在JavaScript中自動枚舉
function ArrayToEnum(arr)
{
var len = arr.lenght;
en = {};
for(i=0;i<len;i++)
en[arr[i]]=i;
return en;
}
a=['foo','bar'];
b=ArrayToEnum(arr);
console.debug(b.foo);
> Undefined
我希望它打印0,而是(至少在鉻9.0),這是不確定的。如果不是調用函數,我直接套用體,它的工作原理:
var l=a.length;
for(i=0;i<l;i++) b[a[i]]=i;
console.debug(b.foo);
> 0
什麼是錯的功能?
您在代碼的第三行拼寫錯誤'length'。您的實際代碼中是否存在該錯誤?另外 - 這是什麼意思? – 2011-03-10 21:22:27