Javascript 函数不返回值

Javascript 函数不返回值,javascript,chart.js,Javascript,Chart.js,我试图生成随机值,这是我的代码: function generateData(total) { var total = total; var names = ['Antonie Lereno', 'Laura Saucini', 'Marco Mendez Ortega', 'Lucas Simon Jainte', 'Angel Rodriguez', 'Manuel Salgado', 'Rosario Parrales']; var months = ['Enero

我试图生成随机值,这是我的代码:

function generateData(total) {
    var total = total;
    var names = ['Antonie Lereno', 'Laura Saucini', 'Marco Mendez Ortega', 'Lucas Simon Jainte', 'Angel Rodriguez', 'Manuel Salgado', 'Rosario Parrales'];
    var months = ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre'];

    return {
        labels: months,
        datasets: (function () {
            var ret = [];

            for (var i = 0; i < total; i++) {
                var background = [Math.round(Math.random() * 254), Math.round(Math.random() * 254), Math.round(Math.random() * 254)];

                ret[i] = {
                    label: names[Math.round(Math.random() * names.length)],
                    data: (function () {
                        var dat = [];

                        for (var j = 0; j < months.length; j++) {
                            dat[j] = Math.round(Math.random() * 50);
                        }

                        return dat;
                    }),
                    backgroundColor: 'rgba(' + background[0] + ',' + background[1] + ',' + background[2] + ',0.2)',
                    borderColor: 'rgba(' + background[0] + ',' + background[1] + ',' + background[2] + ',1)',
                    borderWidth: 1
                };
            }

            return ret;
        })
    };
}
函数生成数据(总计){
var总计=总计;
变量名称=['Antonie Lereno','Laura Saucini','Marco Mendez Ortega','Lucas Simon Jainte','Angel Rodriguez','Manuel Salgado','Rosario Parrales'];
变量月份=['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];
返回{
标签:月,
数据集:(函数(){
var-ret=[];
对于(变量i=0;i
例如在console.log(generateData(1))上调试函数时;它仅在数组中显示“标签”,但“数据集”为空。 有什么帮助吗?
谢谢。

你应该执行生命。在该函数之后添加一组parantises

datasets: (function () {
    var ret = [];

    for (var i = 0; i < total; i++) {
        var background = [Math.round(Math.random() * 254), Math.round(Math.random() * 254), Math.round(Math.random() * 254)];

        ret[i] = {
            label: names[Math.round(Math.random() * names.length)],
            data: (function () {
                var dat = [];

                for (var j = 0; j < months.length; j++) {
                    dat[j] = Math.round(Math.random() * 50);
                }

                return dat;
            }),
            backgroundColor: 'rgba(' + background[0] + ',' + background[1] + ',' + background[2] + ',0.2)',
            borderColor: 'rgba(' + background[0] + ',' + background[1] + ',' + background[2] + ',1)',
            borderWidth: 1
        };
    }

    return ret;
})() // <----------------------- Look here

我对你的代码做了一些更改。在内部函数中,我将其调整为
IIFE
。希望这是你期望的结果

函数生成数据(总计){
var总计=总计;
变量名称=['Antonie Lereno','Laura Saucini','Marco Mendez Ortega','Lucas Simon Jainte','Angel Rodriguez','Manuel Salgado','Rosario Parrales'];
变量月份=['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];
返回{
标签:月,
数据集:(函数(){
var-ret=[];
对于(变量i=0;iconsole.log(generateData(1))哇,令人印象深刻,真是太棒了,非常感谢。你是天才。@Eltitobart哈哈。。。谢谢你,伙计。。。此外,我还添加了更多信息。。。您不需要这样声明
total
。过来看。