从数组中选择一个变量

时间:2015-03-21 03:45:01

标签: javascript object properties

我正在尝试使用变量从数组中进行选择:

这有效:

var myarray = {bricks:3000, studs:500, shingles:400, tiles:700};

function One() {
   alert(myarray.bricks);
}

但这不起作用:

var myarray = {bricks:3000, studs:500, shingles:400, tiles:700};

var myvalue = "bricks"

function Two() {
   alert(myarray.myvalue);
}

我该如何正确地做到这一点?这是一个显示我想要完成的事情的小提琴:https://jsfiddle.net/chrislascelles/xhmx7hgc/2/

3 个答案:

答案 0 :(得分:1)

变量不是数组,它是一个对象。

要使用变量从对象访问元素,您应该使用Bracket Notation,如下面的

alert(myarray[myvalue]);

Fiddle

答案 1 :(得分:1)

你唯一缺乏的是语法。以下是它的工作原理:

function Two() {
   alert(myarray[myvalue]);
}

在javascript中,写下这两个意味着同样的事情:

var a = {};
a.foo = "hello";
a["bar"] = "world";

a.bar; // world;
a["foo"]; // hello;

答案 2 :(得分:1)

使用[]表示法。

var myarray = {bricks:3000, studs:500, shingles:400, tiles:700};

function One() {
       alert(myarray.bricks);
}


var myvalue = "bricks"  //supplied here to make example work

function Two() {
       alert(myarray[myvalue]);
}

Demo