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

动态赋值JavaScript字典适配ECharts时结构异常求助

解决动态生成ECharts适配对象的结构问题

问题核心是你把stacks需要的对象结构错误地生成了数组结构。静态示例里stacks是一个包含多个键值对的对象,而你的动态代码中datastck是数组,每个元素是仅含单个键的小对象,最终导致stacks变成数组,无法被ECharts识别。

修改方案

把datastck从数组改为普通对象,遍历过程中直接给这个对象添加属性,而不是创建小对象推入数组:

// 把数组改成空对象
var datastck = {};
var serverdata = '{{ barCdata | tojson }}';
resPbar = $.parseJSON(serverdata);

$.each(resPbar, function (i, item) {
  // 直接给datastck添加键值对,无需创建临时对象再push
  datastck[item.Team] = [{"Open": item.Open},{"Close": item.Close}];
});

response = {
  "stacks": datastck
};

改动说明

  • 原代码中datastck是数组,每次循环生成{Team: [...]}的小对象并push,最终得到[{5G_L2: ...}, {5G_L3: ...}]的数组结构;
  • 修改后datastck是对象,循环时直接为其添加item.Team作为键,对应值为目标数组,最终得到和静态示例完全一致的{5G_L2: [...], 5G_L3: [...]}结构,完美适配ECharts要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 07:27:01