我正在尝试创建一个有三个日期的arraylist。然后我想以格式化的方式将arraylist保存到变量中。但是,当我尝试document.write变量时,元素完全不同。
<script>
<% List<String> strList = new ArrayList<String>();
strList.add("23-2-2016");
strList.add("24-2-2016");
strList.add("25-2-2016"); %>
var unavailableDates = [<% for (int i = 0; i < strList.size(); i++) { %><%= strList.get(i) %><%= i + 1 < strList.size() ? ",":"" %><% } %>];
document.write(unavailableDates);
</script>
我想要的结果是“23-2-2016”,“24-2-2016”,“25-2-2016”。
但是,我显示的是:-1995,-1994,-1993
答案 0 :(得分:1)
打印javascript时需要使用字符串文字,否则您的日期将被视为算术表达式(23 - 2 - 2016 = -1995
)。
var unavailableDates = [
<% for (int i = 0; i < strList.size(); i++) { %>
'<%= strList.get(i) %>'
// ^ ^
<%= i + 1 < strList.size() ? ",":"" %>
<% } %>
];