javascript – 替换crossfilter数据,还原维度和组

前端之家收集整理的这篇文章主要介绍了javascript – 替换crossfilter数据,还原维度和组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 dc.js来渲染数据集的漂亮气泡图.底层dc.js是 crossfilter.

我想用服务器上的新数据顺利刷新我的图表. This issue on Github明确表示可以通过以下方式执行此操作:

>删除crossfilter中的所有数据
>添加新数据
>调用dc.redrawAll().

我有这个工作,但为了删除所有数据,您首先必须清除所有过滤器(因为crossfilter.remove删除与当前过滤器匹配的记录).

我想“记住”之前我的数据是如何过滤的,所以一旦我替换了所有数据,我就可以重新构建过滤器.我愿意深入了解crossfilter代码,但任何指针都会有所帮助.

另外:如果有人知道基于唯一键更新crossfilter数据的方法,那就是金尘!

解决方法

感谢@ londonrob的回答现在所有数据都从索引中删除了.这是一种用于重置数据的更实用的方法.
// reset the filter for a dimension
function resetDimensionFilter (dimension) {
  dimension.filter(null);
}

// reset filters for all given dimensions,// remove all data from index and
// return empty index
function resetData(ndx,dimensions) {
  // Clear all filters from dimensions,because `ndx.remove` 
  // only removes records matching the current filters.
  dimensions.forEach(resetDimensionFilter);

  // Remove all data from the cross filter
  ndx.remove();
}

猜你在找的JavaScript相关文章