'反映'一个Javascript数组 - 这是合法的吗?

时间:2014-06-04 18:47:02

标签: javascript arrays

我发现自己需要从一个小整数转换为相应的任意字符串。显而易见的方法是使用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']应该给我undefinedArray.length属性似乎不会受到此反映的影响&#39;。该技术有效 - 至少它在node.js中有效 - 但我以前从未见过它。这是合法的吗?它会导致讨厌的事情发生吗?它可能在所有Javascript实现中都可用吗?

提示Javascript语言律师!

0 个答案:

没有答案