简化JavaScript数组变量
我希望简化这段代码。有什么办法吗?Spring MVC+顶点图表简化JavaScript数组变量,javascript,java,spring-mvc,Javascript,Java,Spring Mvc,我希望简化这段代码。有什么办法吗?Spring MVC+顶点图表 var d = /*[[${s0}]]*/ null`; <-- It is sent via the Spring Framework. Basically represents datetime(in millis) at `d[0]`, `d[3]`,... Temperature at `d[1]`, `d[4]`,... and Humidity at `d[2]`, `d[5]`,...
var d = /*[[${s0}]]*/ null`; <-- It is sent via the Spring Framework. Basically represents datetime(in millis) at `d[0]`, `d[3]`,... Temperature at `d[1]`, `d[4]`,... and Humidity at `d[2]`, `d[5]`,...
<script type="text/javascript" th:inline="javascript">
var d = /*[[${s0}]]*/ null;
var options = {
chart: {
type: 'area',
height: 300
},
series: [
{
name: 'Temperature',
data: [
[d[0], d[1]],
[d[3], d[4]],
[d[6], d[7]],
[d[9], d[10]],
[d[12], d[13]],
[d[15], d[16]],
[d[18], d[19]],
[d[21], d[22]],
[d[24], d[25]],
[d[27], d[28]],
[d[30], d[31]],
[d[33], d[34]],
[d[36], d[37]],
[d[39], d[40]],
[d[42], d[43]],
[d[45], d[46]],
[d[48], d[49]],
[d[51], d[52]],
[d[54], d[55]],
[d[57], d[58]],
[d[60], d[61]],
[d[63], d[64]],
[d[66], d[67]],
[d[69], d[70]]
]
},
{
name: "Humidity",
data: [
[d[0], d[2]],
[d[3], d[5]],
[d[6], d[8]],
[d[9], d[11]],
[d[12], d[14]],
[d[15], d[17]],
[d[18], d[20]],
[d[21], d[23]],
[d[24], d[26]],
[d[27], d[29]],
[d[30], d[32]],
[d[33], d[35]],
[d[36], d[38]],
[d[39], d[41]],
[d[42], d[44]],
[d[45], d[47]],
[d[48], d[50]],
[d[51], d[53]],
[d[54], d[56]],
[d[57], d[59]],
[d[60], d[62]],
[d[63], d[65]],
[d[66], d[68]],
[d[69], d[71]]
]
}
],
xaxis: {
type: 'datetime'
},
yaxis: [
{
axisTicks: {
show: true
},
axisBorder: {
show: true,
},
title: {
text: "Temperature"
}
}, {
min: 0,
max: 100,
opposite: true,
axisTicks: {
show: true
},
axisBorder: {
show: true,
},
title: {
text: "Humidity"
}
}
],
legend: {
position: 'top',
horizontalAlign: 'center'
},
tooltip: {
x: {
format: 'HH:mm dd/MM/yy'
},
}
}
var chart = new ApexCharts(document.querySelector("#chart0"), options);
chart.render();
</script>
var d=/*[[${s0}]*/null` 您可以使用一个函数,该函数获取所需元素的数据和模式,以及下一行增量的偏移量
函数映射模式(数据、模式、偏移){
var结果=[],i=0;
而(idata[i+j]);
i+=偏移量;
}
返回结果;
}
var数据=[0,1,2,3,4,5,6,7,8,9,10,11],
结果={系列:[
{name:'Temperature',data:mapByPattern(data[0,1],3)},
{名称:“湿度”,数据:mapByPattern(数据[0,2],3)}
]};
控制台日志(结果)代码>谢谢你,尼娜。代码并没有完全按照我想要的那样工作,但它对我自己的代码修复非常有帮助。非常感谢!下面是一些固定代码:)
var data=/*[[${s0}]]*/null;
函数mapByPattern(数据、模式、偏移){
var结果=[],i=0;
而(idata[i+j]);
i+=偏移量;
}
返回结果;
}
变量选项={
图表:{
类型:'区域',
身高:300
},
系列:[
{
名称:“温度”,
数据:mapByPattern(数据[0,1],3)
},
{
名称:“湿度”,
数据:mapByPattern(数据[0,2],3)
}
],
xaxis:{
键入:“日期时间”
},
亚克斯:[
{
axisTicks:{
秀:真的
},
axisBorder:{
秀:没错,
},
标题:{
正文:“温度”
}
}, {
分:0,,
最高:100,
相反:是的,
axisTicks:{
秀:真的
},
axisBorder:{
秀:没错,
},
标题:{
正文:“湿度”
}
}
],
图例:{
位置:'顶部',
水平对齐:“中心”
},
工具提示:{
x:{
格式:“HH:mm-dd/mm/yy”
},
}
}
var图表=新的ApexCharts(document.querySelector(“#图表0”),选项);
chart.render()代码>请显示您已尝试的内容。这里的模式非常简单。Stackoverflow不是免费的代码编写服务。我们的目标是让其他人帮助您修复您试图解决的问题,但这些问题无法按预期工作。此代码留下了许多“符号”。但我使用了您的函数并替换了abit数据代码。现在它更具可读性。非常感谢!:)