You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chart.js柱状图数据集生成报错:‘statement expected’问题求助

排查Chart.js数据集生成函数的语法错误

咱们先揪出这个错误的根源哈:你在使用Array.from()的时候犯了一个语法小错误,导致JavaScript解析器完全读不懂你的代码逻辑。

错误原因拆解

原代码里这一行就是问题核心:

Array.from(new Array(5){ return { name: 'Land', people: 200, backgroundColor: ["#3e95cd"] }; })

Array.from()的正确用法是接受两个参数:第一个是类数组/可迭代对象,第二个是可选的映射函数。但你在new Array(5)后面直接跟了大括号{},没加逗号分隔参数——这会让解析器误以为new Array(5)是一个独立语句,后面的{}是普通代码块。而代码块里的return语句没有被包裹在函数里,自然就触发了“statement expected”错误,毕竟单独在代码块里写return是不符合语法规则的。

修正后的代码

给你两种靠谱的写法,按需选就行:

写法一:规范使用Array.from的映射参数

function generateDataSets() {
  const returnValue = Array.from(new Array(5), () => {
    return { 
      name: 'Land', 
      people: 200, 
      backgroundColor: ["#3e95cd"] 
    };
  });
  return returnValue;
}

写法二:更简洁的箭头函数写法

如果想让代码更紧凑,可以用箭头函数的隐式返回(注意要给对象加小括号包裹,避免被解析成代码块):

function generateDataSets() {
  return Array.from({ length: 5 }, () => ({
    name: 'Land', 
    people: 200, 
    backgroundColor: ["#3e95cd"] 
  }));
}

两种写法都会生成一个包含5个相同结构对象的数组,刚好能满足你生成Chart.js柱状图数据集的需求。

内容的提问来源于stack exchange,提问作者Lennox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 08:22:33