我有一個JSON對象的格式如下獲取從值鍵以JSON
MyJsonObject= {
'Animal': ['Lion', 'Tiger', 'Elephant'],
'Human': ['Man', 'Woman']
};
我想,如果我們傳遞的價值函數來獲取鍵返回類型。例如,如果我傳遞值= Man,函數應該返回Human作爲返回類型。同樣,如果我將Tiger作爲價值超過了我想要獲得動物作爲回報價值。
任何幫助將不勝感激
我有一個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