我想根据数组中的第一个值访问对象属性。基于数组值访问对象属性
var LANGS = {
"C#": [10, "text/x-csharp", "code"],
"C/C++": [7, "text/x-c++src", "code"]
};
所以我希望能够访问其阵列中的10
"C#"
,我会怎么做这个?
我想根据数组中的第一个值访问对象属性。基于数组值访问对象属性
var LANGS = {
"C#": [10, "text/x-csharp", "code"],
"C/C++": [7, "text/x-c++src", "code"]
};
所以我希望能够访问其阵列中的10
"C#"
,我会怎么做这个?
您可以使用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));
为什么downvote? –
为什么downvote?这就假定找到该属性该怎么做,但是它确实解答了问题:显示如何根据该值找到属性。 –
这里的值是数组,不确定indexOf是否可以作为值在数组上工作... –
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));
这甚至意味着“访问”C#“由其数组中的10 * *”? – Amit
@如果提供了'10',就可以获得钥匙'C#' – Tushar
@Tushar如果你是对的,我会说不这样做。用适当的键设置一个新的“词典”。 – Amit