int空值数组

问题描述 投票:0回答:1

我有这个字符串"[,,3,,]",现在我已经用这个字符串设置了chartjs的data属性。

chart.data.datasets.push({
  label: label,
  data: DataArray,
  lineTension: 0.3,
  pointBorderColor: 'blue',
  pointBackgroundColor: 'rgba(255,150,0,0.5)',
  pointRadius: 5,
  pointHoverRadius: 10,
  pointHitRadius: 30,
  pointBorderWidth: 2,
  pointStyle: 'rectRounded'
});

但不能是字符串。我该怎么办?

javascript jquery arrays chart.js
1个回答
1
投票

您可以将该字符串转换为Array,创建一个新函数以解析该字符串,然后使用Function constructor返回它,但这将创建一个带有未定义对象的Array:

function looseJsonParse(obj){
    return Function('"use strict";return (' + obj + ')')();
}
const str = "[,,3,,]";
const DataArray = looseJsonParse(str);

console.log(DataArray);

如果只需要数据数组中的有效值,则可以简单地.filter()个元素:

.filter()
© www.soinside.com 2019 - 2024. All rights reserved.