使用函数参数来访问JSON Array javascript

时间:2015-05-10 07:56:37

标签: javascript arrays json

我有一个参与的基本功能。我将使用此参数作为索引来访问JSON文件中的数组。我想利用这个参数而不是在函数内部进行硬编码。但是,由于某些原因,javascript并没有给我正确的价值。

var obj = {
    "first":[
        ["aaaaa"],
        ["bbbbb"],
        ["ccccc"],
        ["ddddd"],
        ["eeeee"]                   
    ]
}

我有一个javascript函数来访问该文件。

function addElement(ID) {
    console.log(obj.ID);
}

现在如果我使用

addElement("first"); //this return me undefined. 

我不想明确提及obj.first以访问正确的JSON对象。我想使它更通用,以便可以重复使用该方法。我在这里错过了什么吗?

...谢谢

1 个答案:

答案 0 :(得分:3)

JavaScript支持点表示法和属性名称​​ literal obj.foo),括号表示法和属性名称​​ string obj["foo"]) 。*在后一种情况下,字符串可以是任何表达式的结果。

所以你需要括号表示法,而不是点符号:

function addElement(ID) {
    console.log(obj[ID]);
}

obj.ID访问属性IDobj[ID]访问名称为变量ID的字符串的属性。

*仅为了完整性:在ES6中,它也会以括号表示法支持属性名称Symbol,但这与您的代码无关。