0

我有一个给定动词的宾语,例如...

var schlafen = {
    ger: "schlafen",
    eng: "sleep",
    stem: "schlaf",
    pp: "geschlafen",
    sp: "schlief",
    type: "verb",
    reflexive: false
};

当我的脚本遇到其中一个属性的实例时,我希望能够识别和引用该对象及其属性,例如...

var example = "geschlafen";

我试图仅从它的一个属性中获取对象本身,以便我可以使用它的另一个属性(例如,“type”属性)将“geschlafen”的实例标识为动词。

4

1 回答 1

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);
于 2013-10-09T16:13:07.810 回答