获取从值键以JSON
问题描述:
我有一个JSON对象的格式如下获取从值键以JSON
MyJsonObject= {
'Animal': ['Lion', 'Tiger', 'Elephant'],
'Human': ['Man', 'Woman']
};
我想,如果我们传递的价值函数来获取键返回类型。例如,如果我传递值= Man,函数应该返回Human作为返回类型。同样,如果我将Tiger作为价值超过了我想要获得动物作为回报价值。
任何帮助将不胜感激
答
嗨snippet波纹管应该工作。
您可以尝试在这里http://jsfiddle.net/xtdqodzk/1/
MyJsonObject= {
'Animal': ['Lion', 'Tiger', 'Elephant'],
'Human': ['Man', 'Woman']
};
function find(value){
for(var prop in MyJsonObject){
if(MyJsonObject.hasOwnProperty(prop)){
for(var i =0 ;i<MyJsonObject[prop].length;i++){
if(MyJsonObject[prop][i] === value){
return prop;
}
}
}
}
}
alert(find('Man'));
答
你可以尝试修改对象原型
Object.prototype.findKey = function(value) {
for (var key in this) {
if (this.hasOwnProperty(key)) {
for (var i = 0; i < this[key].length; i++) {
if (this[key][i] === value) {
return key;
}
}
}
}
}
var MyJsonObject = {
'Animal': ['Lion', 'Tiger', 'Elephant'],
'Human': ['Man', 'Woman']
};
console.log(MyJsonObject.findKey('Man'));
做这种方式的好处是,如果你有另一个JSON对象,你可以调用.findKey功能上该对象以及所有对象从Object.prototype对象(原型继承)继承函数和属性。
谢谢......它为我工作。感谢您的帮助 – LilRazi
@JNil如果它正在工作,接受我的答案会很高兴,因此您可以获得一些积分。 – Su4p