报错信息:TypeError: Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a Symbol.iterator method.
最初的写法
for (let [key, valueList] of this.sintData.valList) {
console.log("Key: " + key);
console.log("valueList: " + valueList);
series.push({
name: key,
type: 'line',
data: valueList,
markPoint: {
data: [
{ type: 'max', name: 'Max' },
{ type: 'min', name: 'Min' }
]
},
markLine: {
data: [{ type: 'average', name: 'Avg' }],
label: {
formatter: '{c}'+'%'
}
}
});
}
出现这个错误的原因是,myMap 可能不是一个真正的 Map 实例,而是一个普通的对象({})。如果是普通的对象,可以通过 Object.entries 方法来进行遍历。
修改后的代码
for (let [key, valueList] of Object.entries(this.sintData.valList)) {
series.push({
name: key,
type: 'line',
data: valueList,
markPoint: {
data: [
{ type: 'max', name: 'Max' },
{ type: 'min', name: 'Min' }
]
},
markLine: {
data: [{ type: 'average', name: 'Avg' }],
label: {
formatter: '{c}'+'%'
}
}
});
}