在JavaScript对象中查找值
我有一个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
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(按键)
})
控制台