应用于对象属性,变量的值,而不是变量名

时间:2014-02-12 13:35:53

标签: javascript json

假设有一个循环,并且通过每次迭代,变量temp1向上迭代到10。所以:

var arr["age", "address", "email"];
var personel={};
personel.info={};

for (var i=0; i<arr.length; i++){
    var temp = arr[i];
    personel.info.temp = null;
}

(这段代码可能有问题我刚刚快速完成,但我希望你知道我的意思)

我自己的代码有点像这样,我想要的输出是:

{
    "Personel": {
        "Info": {
            "age": null,
            "address": null,
            "email": null
        }
    }
}

然而我得到的输出更像是这样:

{
    "Personel": {
        "Info": {
            "temp": null
        }
    }
}

重申一下,你是如何做到的,personel.info.temptemp的价值,而不只是“临时”这个词?

2 个答案:

答案 0 :(得分:3)

改为使用bracket notation

personel.info[temp] = null;

在MDN上查看Working with Objects以获取更多信息。

示例: http://jsfiddle.net/6DBWD/

答案 1 :(得分:3)

像这样:

 personel.info[temp] = null;

有关.[]运营商的更多信息,请参阅this MDN reference