好的,所以我正在尝试构建一个图例,并且传入数据中的某些值是空白的(打算将其标记为未分类(。 但是,未正确分析空白值。 我尝试了许多组合,并尝试寻找这个答案很长一段时间了,并且越来越绝望。
我意识到这可能有点混乱,但我刚刚一直在测试它,对不起。
let legendData = categories[1] ? categories[1].values : [];
global.legend.values = [];
let last: any = "";
// The toString().length of the blank one is 3.... And it is not null, '', or " "
legendData.forEach((value) => {
if (value && value != last){global.legend.values.push(value);}
last = value;
console.log(value);
});
所以再一次,我试图只获取global.legend.values中所有不为空的值。 然而,当我打印出global.legend.values中的每个元素时,那些讨厌的空白都有它们自己的行。 该值在导入的 Excel 文件中为空,在数据视图中以蓝色文本显示为空,并且该控制台.log(值(;打印出的也是空的...
value.toString((.length 是 3,这也令人困惑。 我可能缺少什么? 我感谢所有的帮助。
天哪 - 我已经将我的传奇从一个类别转移到另一个类别,我的答案不够笼统。 我只是在彼此相邻地考虑重复值,而不是在整个事情中。 我仍然不知道他们为什么要打印出空白,但也许这是我后来实际绘制图例时的实现 - null 值没有进入转换后的数组,所以我在那里很安全。
这是我更好,更通用的解决方案:
let legendData = categories[1] ? categories[1].values : [];
global.legend.values = [];
legendData.forEach((value) => {
if (value && global.legend.values.indexOf(value) < 0){global.legend.values.push(value);}
});
很抱歉那里的误会 - 一定只是漫长的一天..