我有一个给定动词的对象,例如......
var schlafen = {
ger: "schlafen",
eng: "sleep",
stem: "schlaf",
pp: "geschlafen",
sp: "schlief",
type: "verb",
reflexive: false
};
当我的脚本遇到其中一个属性的实例时,我希望能够识别和引用该对象及其属性,如...
var example = "geschlafen";
我试图仅从其中一个属性到达对象本身,以便我可以使用其中一个属性(例如,“type”属性)来识别“geschlafen”的实例作为动词。
答案 0 :(得分:0)
一种选择是创建一个索引对象,将值映射回相关对象,例如:
var index = {};
function indexObject(obj) {
var keys = ['ger', 'eng', 'stem', 'pp', 'sp'];
for (var i = 0; i < keys.length; i++) {
if (obj[keys[i]]) {
index[obj[keys[i]]] = obj;
}
}
}
// index your schlafen object (you would also want to do this for other objects)
indexObject(schlafen);
var example = "geschlafen";
// lookup the object using your index
var obj = index[example];
// make sure we got the correct object back (should log 'true')
console.log(obj === schlafen);