我有一个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];
}
}
}
但这是印刷"The result is :", undefined
。我如何获得钥匙?
谢谢。
您应该使用for...in
语句来遍历对象的可枚举属性,tabAndFieldLink
并在需要时key
将其返回。
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;
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句