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;i console.log(generateData(1))代码>哇,令人印象深刻,真是太棒了,非常感谢。你是天才。@Eltitobart哈哈。。。谢谢你,伙计。。。此外,我还添加了更多信息。。。您不需要这样声明total
。过来看。