我想创建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