Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript对象中查找值_Javascript_Arrays_Object - Fatal编程技术网

在JavaScript对象中查找值

在JavaScript对象中查找值,javascript,arrays,object,Javascript,Arrays,Object,我有一个javascript对象,如下所示: tabAndFieldLink: { 'key1': ['value11', 'value12', 'value13', 'value14', 'value15'], 'key2': ['value21', 'value22', 'value23', 'value24', 'value25', 'value26', 'value27'], 'key3': ['value31', 'value32', 'value33', 'v

我有一个javascript对象,如下所示:

tabAndFieldLink: {
    'key1': ['value11', 'value12', 'value13', 'value14', 'value15'],
    'key2': ['value21', 'value22', 'value23', 'value24', 'value25', 'value26', 'value27'],
    'key3': ['value31', 'value32', 'value33', 'value34'],
    'key4': ['value41', 'value42'],
}
我想要什么

我有值
value22
,我想得到它的键,即
key2

我尝试的

for (err in errorArray) {
    //err contain the value i.e. value22
    var resultObject = search(err, tabAndFieldLink);
    console.log("The result is :", resultObject);
}

function search(nameKey, myArray) {
    for (var i = 0; i < myArray.length; i++) {
        if (myArray[i].indexOf(nameKey) !== -1) {
            return myArray[i];
        }
    }
}
for(errorArray中的错误){
//err包含值,即value22
var resultObject=search(err,tabAndFieldLink);
log(“结果是:”,resultObject);
}
函数搜索(名称键,myArray){
对于(var i=0;i
但它正在打印
“结果是:”,未定义。我怎样才能拿到钥匙

谢谢。

您应该使用语句来迭代对象的可枚举属性
选项卡和字段链接
,并根据需要返回它

for (key in obj) {
    if (obj[key].indexOf(nameKey) !== -1) {
        return key;
    }
}
var tabAndFieldLink={
'键1':['value11','value12','value13','value14','value15'],
“键2”:[“值21”、“值22”、“值23”、“值24”、“值25”、“值26”、“值27]”,
'键3':['value31','value32','value33','value34'],
'key4':['value41','value42'],
}
//err包含值,即value22
var err='value22';
var resultObject=search(err,tabAndFieldLink);
log(“结果是:”,resultObject);
功能搜索(名称键,obj){
用于(输入obj){
if(obj[key].indexOf(nameKey)!=-1){
返回键;
}
}
}
您应该使用语句迭代对象的可枚举属性
选项卡和字段链接
,并根据需要返回它

for (key in obj) {
    if (obj[key].indexOf(nameKey) !== -1) {
        return key;
    }
}
var tabAndFieldLink={
'键1':['value11','value12','value13','value14','value15'],
“键2”:[“值21”、“值22”、“值23”、“值24”、“值25”、“值26”、“值27]”,
'键3':['value31','value32','value33','value34'],
'key4':['value41','value42'],
}
//err包含值,即value22
var err='value22';
var resultObject=search(err,tabAndFieldLink);
log(“结果是:”,resultObject);
功能搜索(名称键,obj){
用于(输入obj){
if(obj[key].indexOf(nameKey)!=-1){
返回键;
}
}
}
如果值在具有特定键的数组中,则可以使用进行检查,然后返回该键

函数getKey(对象、值){ var键; 对象。键(对象)。一些(函数(k){ if(对象[k].indexOf(值)!=-1){ key=k; 返回true; } }); 返回键; } var对象={key1:['value11','value12','value13','value14','value15'],key2:['value21','value22','value23','value24','value25','value26','value27'],key3:['value31','value32','value33','value34'],key4:['value41','value42'], find='value22', key=getKey(对象,查找); 控制台日志(键)您可以检查,如果值在具有特定键的数组中,则返回该键

函数getKey(对象、值){ var键; 对象。键(对象)。一些(函数(k){ if(对象[k].indexOf(值)!=-1){ key=k; 返回true; } }); 返回键; } var对象={key1:['value11','value12','value13','value14','value15'],key2:['value21','value22','value23','value24','value25','value26','value27'],key3:['value31','value32','value33','value34'],key4:['value41','value42'], find='value22', key=getKey(对象,查找);
控制台日志(键)tabAndFieldLink结构是包含键值对的哈希。每个值都是一个数组

按照下面的代码段导航结构

var tabAndFieldLink={
'键1':['value11','value12','value13','value14','value15'],
“键2”:[“值21”、“值22”、“值23”、“值24”、“值25”、“值26”、“值27]”,
'键3':['value31','value32','value33','value34'],
'key4':['value41','value42'],
};
var resultObject=search(“value22”,tabAndFieldLink);
log(“结果是:”,resultObject);
函数搜索(名称键、myHash){
for(myHash中的var键){
if(myHash[key].indexOf(nameKey)!=-1){
返回键;
}
}

}
tabAndFieldLink结构是一个包含键值对的散列。每个值都是一个数组

按照下面的代码段导航结构

var tabAndFieldLink={
'键1':['value11','value12','value13','value14','value15'],
“键2”:[“值21”、“值22”、“值23”、“值24”、“值25”、“值26”、“值27]”,
'键3':['value31','value32','value33','value34'],
'key4':['value41','value42'],
};
var resultObject=search(“value22”,tabAndFieldLink);
log(“结果是:”,resultObject);
函数搜索(名称键、myHash){
for(myHash中的var键){
if(myHash[key].indexOf(nameKey)!=-1){
返回键;
}
}

}
您可以使用查找和对象键功能

var数据={
'键1':['value11','value22','value13','value14','value15'],
“键2”:[“值21”、“值22”、“值23”、“值24”、“值25”、“值26”、“值27]”,
'键3':['value31','value32','value33','value34'],
'key4':['value41','value42'],
}
函数findValue(搜索){
var结果=[]
Object.keys(数据).forEach(函数(键){
var r=data[key].find(函数(值){
返回值===搜索
})
r&&result.push(按键)
})
console.log(结果)
}

findValue(“value22”)
您可以使用查找和对象键功能

var数据={
'键1':['value11','value22','value13','value14','value15'],
“键2”:[“值21”、“值22”、“值23”、“值24”、“值25”、“值26”、“值27]”,
'键3':['value31','value32','value33','value34'],
'key4':['value41','value42'],
}
函数findValue(搜索){
var结果=[]
Object.keys(数据).forEach(函数(键){
var r=data[key].find(函数(值){
返回值===搜索
})
r&&result.push(按键)
})
控制台