最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

NodeJS:按月计数

IT培训 admin 6浏览 0评论

NodeJS:按月计数

我有一些交易数据,如下所示:

    [{UserId: 19156, createdAt: "2014-03-01T18:30:00.000Z", …},
    {UserId: 19150, createdAt: "2014-03-09T18:30:00.000Z", …},
    {UserId: 18459, createdAt: "2014-04-09T18:30:00.000Z", …},
    {UserId: 19666, createdAt: "2014-10-24T07:12:05.000Z", …}]

我要求按月年计数,以便输出如下所示:

[{period: '2014-03', count:2}
{period: '2014-04', count:1},
{period: '2014-10', count:1}]

我正在Node.js中进行此操作,只是无法按日期进行操作。

您能帮忙吗?

回答如下:

您可以使用下面给出的代码根据期间年和月进行分组。

let array = [{ UserId: 19156, createdAt: "2014-03-01T18:30:00.000Z" },
{ UserId: 19150, createdAt: "2014-03-09T18:30:00.000Z" },
{ UserId: 18459, createdAt: "2014-04-09T18:30:00.000Z" },
{ UserId: 19666, createdAt: "2014-10-24T07:12:05.000Z" }]


function count(array) {
    return array.reduce((total, elem) => {
        let temp = elem.createdAt.split("-")
        let groupKey = temp[0] + "-" + temp[1];

        total[groupKey] ? total[groupKey] +=1: total[groupKey] = 1;
        // total[groupKey] += 1;
        return total
    }, {})
}

console.log(count(array))

上面代码的输出将是

{ '2014-03': 2, '2014-04': 1, '2014-10': 1 }

当然,您可以使用下面给出的代码轻松地从JSON格式转换为数组格式

function convertToArray(json_data) {
    let result = [];
    for (var i in json_data)
        result.push({ period: i, count: json_data[i] });
    return result;
}

输出将是

[ { period: '2014-03', count: 2 },
  { period: '2014-04', count: 1 },
  { period: '2014-10', count: 1 } ]

NodeJS:按月计数

我有一些交易数据,如下所示:

    [{UserId: 19156, createdAt: "2014-03-01T18:30:00.000Z", …},
    {UserId: 19150, createdAt: "2014-03-09T18:30:00.000Z", …},
    {UserId: 18459, createdAt: "2014-04-09T18:30:00.000Z", …},
    {UserId: 19666, createdAt: "2014-10-24T07:12:05.000Z", …}]

我要求按月年计数,以便输出如下所示:

[{period: '2014-03', count:2}
{period: '2014-04', count:1},
{period: '2014-10', count:1}]

我正在Node.js中进行此操作,只是无法按日期进行操作。

您能帮忙吗?

回答如下:

您可以使用下面给出的代码根据期间年和月进行分组。

let array = [{ UserId: 19156, createdAt: "2014-03-01T18:30:00.000Z" },
{ UserId: 19150, createdAt: "2014-03-09T18:30:00.000Z" },
{ UserId: 18459, createdAt: "2014-04-09T18:30:00.000Z" },
{ UserId: 19666, createdAt: "2014-10-24T07:12:05.000Z" }]


function count(array) {
    return array.reduce((total, elem) => {
        let temp = elem.createdAt.split("-")
        let groupKey = temp[0] + "-" + temp[1];

        total[groupKey] ? total[groupKey] +=1: total[groupKey] = 1;
        // total[groupKey] += 1;
        return total
    }, {})
}

console.log(count(array))

上面代码的输出将是

{ '2014-03': 2, '2014-04': 1, '2014-10': 1 }

当然,您可以使用下面给出的代码轻松地从JSON格式转换为数组格式

function convertToArray(json_data) {
    let result = [];
    for (var i in json_data)
        result.push({ period: i, count: json_data[i] });
    return result;
}

输出将是

[ { period: '2014-03', count: 2 },
  { period: '2014-04', count: 1 },
  { period: '2014-10', count: 1 } ]

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论