我有一个给定动词的宾语,例如...
var schlafen = {
ger: "schlafen",
eng: "sleep",
stem: "schlaf",
pp: "geschlafen",
sp: "schlief",
type: "verb",
reflexive: false
};
我希望能够在我的脚本遇到其中一个属性的实例时识别和引用对象及其属性,例如......
var example = "geschlafen";
我正在尝试仅从对象的一个属性中获取对象本身,以便我可以使用它的另一个属性(例如,"type"属性(将"geschlafen"的实例标识为动词。
一种选择是创建一个索引对象,将值映射回关联的对象,例如:
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);