Javascript如何根据创建的月份显示用户数量

Posted

技术标签:

【中文标题】Javascript如何根据创建的月份显示用户数量【英文标题】:Javascript how to display the amount of users based on which month they are created 【发布时间】:2017-10-29 14:50:02 【问题描述】:

我想根据创建的月份显示用户数量。我得到以下数据作为示例:

[ 
   name: 'user1', created: 'may' ,
   name: 'user2', created: 'may' ,
   name: 'user3', created: 'may' ,
   name: 'user4', created: 'may' ,
   name: 'user5', created: 'june' ,
   name: 'user6', created: 'june' ,
   name: 'user7', created: 'august' ,
   name: 'user8', created: 'august' ,
   name: 'user9', created: 'august'  
]

我想要实现的是像这样显示它们:

may: 4
june: 2
august: 3

我该怎么做?

【问题讨论】:

到目前为止你尝试过什么? ...需要纯 javascript? ...或者可以使用外部库,例如 JQuery?查看***.com/questions/1960473/unique-values-in-an-array 以获得灵感。 @MarcM 我刚刚尝试遍历数据数组,但我有点卡住了,因为我不知道如何实现这一点。纯javascript将受到青睐。 :-) 我只需要知道如何... 【参考方案1】:

这是您可以使用的纯 javascript 代码:-

var monthWithUsercount = ;

for (var i = 0; i < a.length; i++) 
    var num = a[i];
    monthWithUsercount[num.created] = monthWithUsercount[num.created] ? monthWithUsercount[num.created]+1 : 1;

//Here "a" is the array consisting months and users.

console.log(monthWithUsercount);

这是工作小提琴 - https://jsfiddle.net/sajalsuraj/7nychnd2/

干杯!!

【讨论】:

【参考方案2】:

你可以尝试这个方向的东西,代码可能无法工作,因为它没有经过测试。

function extract(month, data) 
       return let result = data.filter((res)=>
        return res.created === month;
    )

【讨论】:

【参考方案3】:

您可以使用reduce() 并返回对象作为结果。

var data = ["name":"user1","created":"may","name":"user2","created":"may","name":"user3","created":"may","name":"user4","created":"may","name":"user5","created":"june","name":"user6","created":"june","name":"user7","created":"august","name":"user8","created":"august","name":"user9","created":"august"]

var result = data.reduce(function(r, e) 
  return r[e.created] = (r[e.created] || 0) + 1, r
, )

console.log(result)

【讨论】:

这太棒了! :-)【参考方案4】:

我想这会给你一个想法:

const usersCreatedInMay = users.filter(u => u.created == 'may')

usersCreatedInMay 将返回 nullarray。只需查看它的长度即可了解 5 月份创建了多少用户。

usersCreatedInMay.length

您可以遍历所有月份并计算每个月创建了多少用户。

【讨论】:

以上是关于Javascript如何根据创建的月份显示用户数量的主要内容,如果未能解决你的问题,请参考以下文章

6月份运营数据:全网5G套餐用户近5亿,移动成6月份最大的赢家!

EXCEL - 如何在N个月内传播X数量

mysql 统计每月的数量 sql

使用 JavaScript 提交表单时,如何从用户那里获取数量变量?

根据用户输入的月份显示对应的美食

在 Rails 中使用嵌套表单 - 如何使显示页面根据用户想要的呈现数量以表格格式显示每个新条目?