javascript – 是否可以修改已插入到crossfilter的数据?

查看
Crossfilter API,我没有看到如何修改已添加到Crossfilter的行.

是否绝对禁止/不可能修改现有行?比方说,通过添加更多字段或修改行的字段值?似乎删除所有数据并将其读取为crossfilter是唯一的方法,但这意味着丢失所有当前的过滤器,尺寸等.

最佳答案 如果创建一个“唯一维度”,为数据集中的每个条目(如ID列)返回唯一值,则可以使用这样的函数对单个条目进行更改而不会丢弃所有内容:

function editEntry(id, changes) {
    uniqueDimension.filter(id); // filter to the item you want to change
    var selectedEntry = uniqueDimension.top(1)[0]; // get the item
    _.extend(selectedEntry, changes); // apply changes to it
    ndx.remove(); // remove all items that pass the current filter (which will just be the item we are changing
    ndx.add([selectedEntry]); // re-add the item
    uniqueDimension.filter(null); // clear the filter
    dc.redrawAll(); // redraw the UI
}
点赞