javascript - Crossfilter javascript 超出最大调用堆栈大小,无 Nan

标签 javascript d3.js crossfilter

我正在玩弄 crossfilter.js,请参阅 https://github.com/square/crossfilter/wiki/API-Referencehttp://square.github.io/crossfilter/ .

据说该库非常擅长快速处理数据。所以为了测试它,我首先创建了一个随机数数组,一个很大的数组,有一百万行。

    function create_random_json(){
        result = []     
        for (var i = 1000000 - 1; i >= 0; i--) {
            result.push( { 'a': Math.random() , 'b' : Math.random() * 5  } )
        }
        return result
    }

    json_array = create_random_json() 

    df = crossfilter( json_array )

到目前为止一切顺利,但是当我尝试做一些基本的交叉过滤时,事情变得非常糟糕。

df.dimension( function(d){ return d.total; }); 
RangeError: Maximum call stack size exceeded

我读到这个错误可能是由 NaN 值引起的,但我生成的所有值显然都是 float ,所以我假设是其他原因导致了问题。有什么提示吗?

最佳答案

我认为您需要实际计算总计:

df.dimension(function(o) { return o.a + o.b; });

您传递给 .dimension() 的函数正在返回 undefined,因为您的数据集中没有任何行具有“总计”属性。

关于javascript - Crossfilter javascript 超出最大调用堆栈大小,无 Nan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18639913/

相关文章:

crossfilter - 如何从减少中过滤空组?

javascript - Pow 和 mod 函数优化

javascript - 如何使用 select :false 为字段创建虚拟属性

javascript - 如何动画绘制一系列线段

javascript - AngularJS 将 ui-view 嵌套到 ng-repeat 中

javascript - 尽管存在数据,但工具提示未显示

javascript - 我可以在我的 pelican 网站上使用 d3.js 显示动态图表吗?

javascript - 在 Javascript 中加载多个 CSV 文件

javascript - dc js - 创建多列维度

javascript - 使用 Crossfilter 如何返回特定类型的所有 id 值的数组