如何每月过滤数据并形成适当的数组?

时间:2018-10-12 07:09:35

标签: javascript arrays node.js json

我收到客户请求(日期范围)后来自服务器的集合。

例如,输入数据,然后形成数组的长度:

  • 2018/04/12和2018/10/12 => array.length = 7(月)
  • 2018/05/12和2018/10/12 => array.length = 6(月)
  • 2018/09/12和2018/10/12 => array.length = 2(月)

服务器通过 date_call 参数

以与请求的日期范围相对应的集合的形式来自服务器

例如:

请求的数据: 2018/10/01 2018/10/12

如果 date_call 参数上的文档与请求的范围相对应(例如, date_call = 2018/10 /01..12 ),请在-以下表格

{
    "_id" : ObjectId("5bbb299f06229dddbaab553b"),
    "phone" : "+38 (031) 231-23-21",
    "date_call" : "2018-10-08",
    "adress_delivery" : "1",
    "quantity_concrete" : "1",
    "state" : "200",
    "comments" : "1",
    "is_order" : "n",
    "date_delivery" : "",
    "quantity_orders" : "",
    "summ_order" : "",
    "profit" : "",
    "id" : "0"
}

可能有很多这样的收藏。


在data.labels中,我有一个数组,其中包含请求的月份名称(我在数组中形成-月份)。

datasets.data中将有3个数组- DataCalls DataOrders DataProfit

  1. DataCalls 中,每月的呼叫文档(date_call)数量
  2. DataOrders 中-订单数量(is_order) 每月
  3. DataProfit 中-每月的利润(利润)

问题:

  • 创建数据调用,数据订单, 数据利润?
  • 或者大概形成这样一个 可以立即使用JSON中的对象吗?
    {
        "Month": "April",
        "Calls": 75,
        "Orders": "20",
        "Profit": "1500"
    }

这是带有正确数据的屏幕截图的理想结果

enter image description here

1 个答案:

答案 0 :(得分:0)

肯定是使用JSON的方法,但是我建议您也将“ year”属性添加到您的JSON对象中,以便您可以在前端需要时执行日期计算。您可以更深入地发送实际交易并在前端进行计算。