根据数组值

时间:2015-10-01 07:31:48

标签: javascript arrays object

我想根据它的数组中的第一个值访问一个对象属性。

var LANGS = {
    "C#": [10, "text/x-csharp", "code"],
    "C/C++": [7, "text/x-c++src", "code"]
};

所以我希望能够通过其数组中的"C#"访问10,我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用for-in循环访问对象的属性名称,然后使用名称获取属性的值以检查其第一个元素:

var LANGS = {
    "C#": [10, "text/x-csharp", "code"],
    "C/C++": [7, "text/x-c++src", "code"]
};
function getEl(number) {
    for(var el in LANGS) {
        if(LANGS[el][0] == number) {
            return el;
        }
    }
}
alert(getEl(10));

演示:http://jsfiddle.net/Lgp4zazq/

答案 1 :(得分:0)

var LANGS = {
    "C#": ["text/x-csharp", "code",10],
    "C/C++": [7, "text/x-c++src", "code"]
};
function getEl(number) {
    for(var el in LANGS) {
        debugger
        var array = [];
        array = LANGS[el];
        
        if(array.indexOf(number) > -1) {
            return el;
        }
    }
}
alert(getEl(10));