Javascript 里面生成代码

Javascript generate code inside

我是初学者,我有这个javascript功能:

function draw() {
        var chart = new CanvasJS.Chart("chartContainer", {
            title: {
                text: "Title of graph"
            },
            axisX: {
                interval: 0.05
            },
            data: [{
                type: "line",
                dataPoints: [
                    { x: xa[0], y: ya[0] },
                    { x: xa[1], y: ya[1] },
                    { x: xa[2], y: ya[2] },
                    { x: xa[3], y: ya[3] },
                    { x: xa[4], y: ya[4] },
                    { x: xa[5], y: ya[5] },
                ]
            }]
        });
        chart.render();
    }   

手动生成轴(x和y)的时间很长,我试着在那里循环一下。但它对我不起作用,我想,我犯了一些错误。

var i = 0;
while (i < 10)
{

{ x: xa[i], y: ya[i] },

i++;

}

如何让它在里面工作?要在代码中生成轴...我使用 CanvasJS 库生成图表,我想自动生成...

xaya 是数组...每个索引上都有不同的值。通过循环,我想展示每一个。

感谢您的帮助。

我相信这对你有用。没试过,感觉还行。

function draw() {
    var i = 0;
    var pointArray = []; 

    while (i < 10)
    {
        pointArray.push({ x: xa[i], y: ya[i] });
        i++;

    }

    var chart = new CanvasJS.Chart("chartContainer", {
        title: {
            text: "Title of graph"
        },
        axisX: {
            interval: 0.05
        },
        data: [{
            type: "line",
            dataPoints: pointArray
        }]
    });
    chart.render();
} 

您可以定义您的图表,然后像您尝试的那样将每个点推送到它:

function draw() {
    var chart = new CanvasJS.Chart("chartContainer", {
        title: {
            text: "Title of graph"
        },
        axisX: {
            interval: 0.05
        },
        data: [{
            type: "line",
            // Define as an empty array to use the Array.prototype.push() method
            dataPoints: [] 
        }]
    });

    // Iterate through all x data points
    // This follows the assumption that xa.length === ya.length
    // This also will scale with the size of xa
    for(var i = 0; i < xa.length; i++) {
        // Push a new {x, y} object to the dataPoints array of the first data set
        chart.data[0].dataPoints.push({x: xa[i], y: ya[i]});
    }

    chart.render();
}  

MDN Array.prototype.push()