我有那个代码,它给出了每个日期在日期数组上出现的次数:
let month = [];
let current;
let count = 0;
chartDates = chartDates.sort()
for (var i = 0; i < chartDates.length; i++) {
month.push(chartDates[i].split('-')[1]);
if (chartDates[i] != current) {
if (count > 0) {
console.log(current + ' times ' + count);
}
current = chartDates[i];
count = 1;
} else {
count++;
}
}
if (count > 0) {
console.log(current + 'times ' + count);
}
这给了我以下输出:
2010-02-08 times 1
2010-02-11 times 1
2010-03-05 times 1
2010-03-08 times 1
2017-09-19 times 3
2017-12-26 times 1
我想使用chart.js将这些值提供给一个条形图,“标签”是日期,“数据”是“每次发生日期..我尝试year = [];
然后{{1只是为了给我一个日期而不重复
每个内部都有相同的日期,但是没有成功..
我该如何解决这个问题?
我的图表:
year.push(current);
答案 0 :(得分:0)
所以我认为我找到了解决这个问题的95%的解决方案。 我创建了一个新的数组,希望我按下“发生”的当前计数,所以我有一对(日期 - 出现) - 我现在有一个小问题,最后的日期重复!!并且那是因为最后的if(count&gt; 0),但如果我不推年,即使我的控制台日志给出正确的日期数组,我的char只显示3(?)我发布代码和打印od控制台日志和图表!
<强> TS 强>
let month = [];
let current;
let count = 0;
let year = [];
let values = [];
chartDates = chartDates.sort()
for (var i = 0; i<chartDates.length; i++)
{
month.push(chartDates[i].split('-')[1]);
if (chartDates[i] != current)
{
if (count > 0)
{
//console.log(current + ' times ' + count);
values.push(count);
}
current = chartDates[i];
year.push(current);
count = 1;
}
else
{
count++;
}
}
if (count > 0)
{
//console.log(current + 'times ---' + count);
//year.push(current);
values.push(count);
}
console.log('datas: '+year+ ' contadores '+ count);
ts中的图表 var myChart = new Chart(ctx,{ 类型:'bar', 数据:{ 标签:年, 数据集:[{ 标签:年, 数据:值 ...
控制台日志:
DATAS: 2010-02-08,2010-02-11,2010-03-05,2010-03-08,2017-09-19,2017-12-26 contadores 1
FIX EDIT:如果添加了year.push(当前);它会修复,即使它显示重复的最后一个标签,但没有任何价值。