问题
在下面的配置中 data如果是一个Float32Array类型的数组。会出现报错:
dimensions must be given if data is TypedArray.
option: {
xAxis: [
{
type: 'category',
},
],
yAxis: [
{
type: 'value',
}
],
series: [
{
data: data,
type: 'line',
},
],
}
解决方法:
使用`Array.from()`将data转换为标准数组,
option: {
xAxis: [
{
type: 'category',
},
],
yAxis: [
{
type: 'value',
}
],
series: [
{
data: Array.from(data),
type: 'line',
},
],
}
原因:类型化数组
在 series
中,data
属性是要求一个数组,包含了要在图表上展示的数据。在本例中,data
属性指向了一个 Float32Array
数组 data
,但是 Float32Array
数组并不是标准的 JavaScript 数组,因此需要将它转换为标准的数组才能作为 data
属性的值。
Array.from()
方法是一个可以将类似数组或迭代器对象转换成标准数组的方法。在本例中,Array.from(data)
将 Float32Array
数组 data
转换成了标准的数组,然后将其作为 data
属性的值传递给 echarts。