我正在为谷歌地图的标记列表创建一个数组。该代码适用于一个forEach
循环,但我还需要将新数组的元素添加到列表中。
我当前的代码在result2的var
上显示以下错误消息。
Syntax error on token "var", ; expected
一个数组的代码
var results = [
<c:forEach var="cus" items="${customer}" varStatus="loop">[
"${cus.value.name}", "${cus.value.latitude}",
"${cus.value.longitude}", "${loop.index}",
"${cus.value.id}"], </c:forEach> ];
两个数组的代码
var results = "[" +
<c:forEach var="cus" items="${customer}" varStatus="loop">[
"${cus.value.name}", "${cus.value.latitude}",
"${cus.value.longitude}", "${loop.index}",
"${cus.value.id}"], </c:forEach>
var results2 = results + <c:forEach var="staff" items="${staff}" varStatus="loop">
+ "[" +
"${staff.value.name}", "${staff.value.latitude}",
"${staff.value.longitude}", "${loop.index}",
"${staff.value.id}"], </c:forEach>
+"]";
答案 0 :(得分:1)
首先,在您的两个数组的代码中,您不希望在引号中包含方括号。这将使您的整个数组result
和result2
成为一个字符串
其次,results
缺少右括号,results2
缺少左括号
第三,你不能只用+
JavaScript中的数组。有concat()
方法。
试试这个:
var results = [
<c:forEach var="cus" items="${customer}" varStatus="loop">
[
"${cus.value.name}",
"${cus.value.latitude}",
"${cus.value.longitude}",
"${loop.index}",
"${cus.value.id}"
],</c:forEach>
];
var results2 = results.concat([
<c:forEach var="staff" items="${staff}" varStatus="loop">
[
"${staff.value.name}",
"${staff.value.latitude}",
"${staff.value.longitude}",
"${loop.index}",
"${staff.value.id}"
],</c:forEach>
]);