使用javascript变量作为数组索引

时间:2013-06-23 02:19:02

标签: javascript arrays jsp variables indexing

我有以下代码:

var n = 1;
var term = "${abc[n].term}";
console.log("term = " + term);

术语似乎是空的,但如果我更换 var term = "${abc[n].term}"; 通过 var term = "${abc[1].term}"; 它有效。

看起来jsp正在寻找deck对象的n属性,我怎么能修复它,以便当我使用is作为数组索引时n被其值替换?

修改 看起来尝试混合使用JSTL和Javascript并不是一个好主意,如果你想使用javascript变量作为数组索引,你必须将对象复制到一个Array对象,如下所示:

var deck = new Array();
<c:forEach var="v" items="${abc}">
    deck.push("${v.term}");
</c:forEach>

var n = 1;
console.log("term = " + deck[n]);

1 个答案:

答案 0 :(得分:1)

您没有正确使用引号,请尝试以下操作:

var term = "${abc[" + n +"].term}";

"${abc[n].term}"此处n被视为字符串的一部分,而不是变量n。所以尝试连接它。