當我提出獲取請求時,我有這種奇怪的行為。對 mysql 的查詢要求按天 (nvarchar) 分組的銷售總數 (float)。我制作了 2 個陣列(用于總計和資料),我在其中推送結果的內容
router.get('/movmensili', function(req, res ,next){
if(!req.session.user){
return res.redirect('/');
}
executeQuery("SELECT SUM(price) as Totale, Data FROM db10101.10101 group by Data order
by Data", function(error, resmov){
var dateArray = [];
var totaliArray = [] ;
for (var i = 0; i<resmov.length; i ) {
dateArray.push(resmov[i].Data)
}
for (var i = 0; i<resmov.length; i ) {
totaliArray.push(resmov[i].Totale)
}
res.render('movmensili', {title: 'movs', date: (dateArray), totali: totaliArray
});
});
});
console.log(dateArray); //['2022-05-01','2022-05-02','2022-05-03','2022-05-04','2022-05-05']
console.log(totaliArray); //[ '4.00', '5.50', '3.00', '1.75', null ]
到目前為止一切順利,一旦我打開我的 Pug 頁面,我必須使用 Chart.js 繪制條形圖,這兩個陣列用于圖表軸,包含數值,銷售總額沒有問題,但 xlabels 應該是字串。到目前為止,xlabes 是 2016(=2022 減去 05 減去 01)、2015、2014 等等....
canvas#myChart(style='width: 100%; height: 100%; margin: 10 auto')
script.
const xlabels = [#{date}] //[2022-05-01,2022-05-02,2022-05-03,2022-05-04,2022-05-05]
const ydatas = [#{totali}] //[4.00,5.50,3.00,1.75,]
我無法轉換/轉換/字串化 x 值以獲得所需的結果。有什么建議么?
uj5u.com熱心網友回復:
大衛,這對我有用。您確定您在渲染時正確傳遞了標簽(嘗試使用 date: dateArray 而不是 date: (dateArray))。我沒有為此頁面創建渲染函式,所以對標簽和資料陣列進行了硬編碼:
script.
var labels = ['2022-05-01','2022-05-02','2022-05-03','2022-05-04','2022-05-05',]
var data = {
labels: labels,
datasets: [{
label: 'My First dataset',
backgroundColor: 'rgb(255, 99, 132)',
borderColor: 'rgb(255, 99, 132)',
data: ['4.00', '5.50', '3.00', '1.75', null],
}]
};
var config = {type: 'line',data: data,options: {}};
var myChart = new Chart(document.getElementById("myChart"),config);
uj5u.com熱心網友回復:
如果我硬編碼 const xlabels = [#{date}] 中的標簽,而不是從頁面渲染匯入,一切正常。正是這一點。dateArray 的 console.log 與我想在 xlabels 中一樣完美,而一旦匯入引號就會消失---- console.log(dateArray); //['2022-05-01','2022-05-02','2022-05-03','2022-05-04','2022-05-05'] <> const xlabels = [# {日期}] //[2022-05-01,2022-05-02,2022-05-03,2022-05-04,2022-05-05]
uj5u.com熱心網友回復:
不是最好的解決方案,但它可以作業....異步函式 GetData()
var xlabel = '#{date}';
var xlabel = xlabel.replace(/"/g, '"');
alert(xlabel);
var xlabel = xlabel.split(",");
alert(xlabel);
for(i = 0; i < xlabel.length; i = 1){
xlabel[i] = xlabel[i];
//alert(numarray[i]);
xlabels.push(xlabel[i]);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/476816.html
上一篇:如何為JavaScript中嵌套JSON結構中的每個物件添加屬性?
下一篇:如何將用戶ID添加到按鈕互動中?
