原來elemNormcolIds數組中只有currentCondition¤tCondition_1 , try中定義了commonData和targetData,但是現在有多個數組,該如何定義,還可以這麽定義嗎
时间: 2024-12-08 20:17:03 浏览: 5
如果`elemNormcolIds`数组不再只包含两个条件(`currentCondition`和`currentCondition_1`),而是包含了多个不同的条件,你可以将每个条件下的`commonData`和`targetData`视为一个独立的对象,比如创建一个对象数组,其中每个对象对应一个条件及其对应的数据显示。
假设新的数据结构是这样的:
```javascript
const conditions = [
{ id: 'currentCondition', commonData: [], targetData: [] },
{ id: 'currentCondition_1', commonData: [], targetData: [] }, // ... 其他条件
];
// 更新getActual和getTarget函数,接收condition对象作为参数
async function getActual(condition) {
// 根据condition.id获取实际数据
}
async function getTarget(condition) {
// 根据condition.id获取目标数据
}
// 修改renderNormcol函数
for (let i = 0; i < elemNormcolIds.length; i++) {
let condition = conditions.find((c) => c.id === elemNormcolIds[i]); // 查找当前索引对应的条件
if (condition) {
let id = elemNormcolIds[i];
let elem = $(id);
if (elem.length) {
// 初始化echarts实例和其他变量
echnormcol[i] = echarts.init(elem[0], layui.echartsTheme);
try {
condition.commonData = await getActual(condition);
condition.targetData = await getTarget(condition);
normcol[i].series[0].data = condition.commonData;
normcol[i].series[1].data = condition.targetData;
echnormcol[i].setOption(normcol[i]);
// ...其他配置
} catch (error) {
console.error("Error retrieving actual data for", id, ":", error);
}
} else {
console.warn(`Element not found: ${id}`);
}
} else {
console.error(`No matching condition found for ID: ${id}`);
}
}
```
现在,每次迭代时都会根据`elemNormcolIds`中对应的`id`找到相应的条件对象,并从该对象中读取和更新`commonData`和`targetData`。
阅读全文