获取对象属性名称

时间:2014-04-23 21:12:40

标签: javascript object

我有以下对象:

var Something= {
    "None" : 0,
    "2D" : 1,
    "3D" : 2,
    "4D" : 3,
    "5D" : 4,
    "6D" : 5,
    "7D" : 6
};

function SomethingElse(obj) {

    this.2D = 0;
    this.3D = 0;
    this.4D = 0;
    this.5D = 0;
    this.6D = 0;
    this.7D = 0;

    for (var prop in obj) {
        this[prop] = obj[prop];
    }
}

我有一个整数,我希望从中获取Something的propertyName(例如,如果我传入2,我应该返回字符串“3D”。我该怎么做?

最终我想用它来设置SomethingElse[propertyName] = 0;

的值

1 个答案:

答案 0 :(得分:0)

直接的解决方案是创建一个函数,通过Something的所有属性迭代for(... in ...)并返回第一个匹配的属性,否则 null

function search(value)
{
    for (var prop in Something) {
        if (Something[prop] === value) {
            return prop;
        }
    }
    return null;
}