在JavaScript对象中查找值 [英] Find a value in a JavaScript object
本文介绍了在JavaScript对象中查找值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个如下所示的javascript对象:
I have a javascript object which looks like this:
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
.
I have the value value22
and I want to get it's key i.e. 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];
}
}
}
但是它正在打印结果为:",未定义
.如何获取密钥?
But it is printing "The result is :", undefined
. How can I get the key?
谢谢.
推荐答案
You should use for...in
statement to iterates over the enumerable properties of object tabAndFieldLink
and as you need key
return it.
for (key in obj) {
if (obj[key].indexOf(nameKey) !== -1) {
return key;
}
}
var tabAndFieldLink = {
'key1': ['value11', 'value12', 'value13', 'value14', 'value15'],
'key2': ['value21', 'value22', 'value23', 'value24', 'value25', 'value26', 'value27'],
'key3': ['value31', 'value32', 'value33', 'value34'],
'key4': ['value41', 'value42'],
}
//err contain the value i.e. value22
var err = 'value22';
var resultObject = search(err, tabAndFieldLink);
console.log("The result is :", resultObject);
function search(nameKey, obj) {
for (key in obj) {
if (obj[key].indexOf(nameKey) !== -1) {
return key;
}
}
}
这篇关于在JavaScript对象中查找值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文