https://github.com/square/crossfilter/wiki/API-Referenceおよびhttp://square.github.io/crossfilter/crossfilter.js
を参照してください。
おそらく、ライブラリはデータを迅速に処理するのに非常に優れています。それをテストするために、まず、100 万行の大きな乱数の配列を作成します。
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
、生成したすべての値は明らかにフロートであるため、他の何かが問題を引き起こしていると想定しています。ヒントはありますか?