代码之家  ›  专栏  ›  技术社区  ›  Vlad

使用Vega信号在数组中添加和删除项目

  •  1
  • Vlad  · 技术社区  · 1 月前

    我有一个作为空数组启动的信号,我想动态地添加和删除这个数组中的字符串值。

    Vega中的数组函数 seem limited ,例如,我似乎可以检查数组中是否有值:

    indexof(array, value) >= 0
    

    是否有可能以某种方式添加和删除此数组中的值?例如:

    indexof(array, value) >= 0 ? array.remove(value) : array.add(value)
    

    由于我不关心位置,这就像一个集合,但我不知道Vega是否有一个集合数据结构。

    1 回复  |  直到 1 月前
        1
  •  1
  •   davidebacci    1 月前

    不是真的。从内存角度来看,有一些非常笨拙、低效的方法可以处理字符串,但根本不建议使用。

    最好的方法是创建一个数据集,并从中添加、修改或删除数据(可能使用触发器)。例如,甘特图需要跟踪哪些阶段被折叠,并添加或删除元素(如数组)。这些数据存储在collapsedPhases数据集中。这也是VL通过使用专用数据集存储对象来处理选择的方式。

    https://github.com/PBI-David/Deneb-Showcase?tab=readme-ov-file#gantt-chart

    推荐文章