0

次のような時系列があります。

[
    {
        "_id": {
            "action": "click",
            "date": "2015-02-02T00:00:00+01:00"
        },
        "total": 5
    },
    {
        "_id": {
            "action": "hit",
            "date": "2015-02-02T00:00:00+01:00"
        },
        "total": 13
    },
    {
        "_id": {
            "action": "hit",
            "date": "2015-02-03T00:00:00+01:00"
        },
        "total": 25
    },
    {
        "_id": {
            "action": "click",
            "date": "2015-02-03T00:00:00+01:00"
        },
        "total": 7
    }
]

いくつかの計算を行い、同様のオブジェクトを返す必要があります。特に、クリック数とヒット数 (同じ日付のクリック数/ヒット数 * 100) のパーセンテージを見つける必要があり、次のようなオブジェクトを返します。

[
    {
        "_id": {
            "action": "ctr",
            "date": "2015-02-02T00:00:00+01:00"
        },
        "total": 38.46
    },
    {
        "_id": {
            "action": "ctr",
            "date": "2015-02-03T00:00:00+01:00"
        },
        "total": 28
    }
]

ヒントはありますか?

4

1 に答える 1

2
_.groupBy(array, function(el){ return el._id.date; });

上記はグループ化する方法であり、それをマッピングして必要なものを計算できます。例:

http://jsfiddle.net/j9Htk/114/

于 2015-02-03T16:53:54.313 に答える