我发现自己需要从一个小整数转换为相应的任意字符串。显而易见的方法是使用Array。但我也想回到另一个方向:给定字符串,找到相应的整数。显然我可以通过Array.indexOf()来做到这一点,但处理“找不到匹配项”#39;案件有点尴尬。但是在Javascript中,Arrays是Objects,而Objects有属性,所以我尝试定义一个函数:
var reflect = function(array) {
for (var i = 0; i < array.length; i++) {
array[array[i]] = i;
}
};
添加与每个数组元素对应的属性。所以给出:
lighting2 = ['AC', 'HOMEEASY_EU', 'ANSLUT'];
reflect(lighting2);
我可以写lighting2[1]
给我'HOMEEASY_EU'
;还有lighting2['HOMEEASY_EU']
给了我1
。此外,lighting2['FOO']
应该给我undefined
。 Array.length
属性似乎不会受到此反映的影响&#39;。该技术有效 - 至少它在node.js中有效 - 但我以前从未见过它。这是合法的吗?它会导致讨厌的事情发生吗?它可能在所有Javascript实现中都可用吗?
提示Javascript语言律师!