使用数据库中的数据查找javascript中的元素计数

使用数据库中的数据查找javascript中的元素计数,javascript,Javascript,[{'break_-time':'09:00'},{'break_-time':'09:00'},{'break_-time':'10:00'},{'break_-time':'10:00'},{'break_-time':'15:00'},{'break_-time':'09:00'}如何在javascript中获得break_-time的数量以及09:00、10:00和15:00的数量?保持获取类型错误:ret3.forEach/filter不是一个函数您可以创建一个对象,增加每个匹配的计数

[{'break_-time':'09:00'},{'break_-time':'09:00'},{'break_-time':'10:00'},{'break_-time':'10:00'},{'break_-time':'15:00'},{'break_-time':'09:00'}如何在javascript中获得break_-time的数量以及09:00、10:00和15:00的数量?保持获取类型错误:ret3.forEach/filter不是一个函数

您可以创建一个对象,增加每个匹配的计数,并获取一个最终对象,其中key作为时间值,value作为该时间的计数:

var arr=[{ “休息时间”:“09:00” }, { “休息时间”:“09:00” }, { “休息时间”:“09:00” }, { “休息时间”:“10:00” }, { “休息时间”:“10:00” }, { “休息时间”:“15:00” }, { “休息时间”:“09:00” }]; var obj={}; arr.forEacharrObj=>{ ifobj[arrObj.break_time]{ 对象[arrObj.break_time]++; }否则{ 对象[arrObj.break_time]=1; } };
console.logobj 使用准函数方法,您可以编写


var arr = [{'break_time':'09:00'},{'break_time':'09:00'},{'break_time':'09:00'},{'break_time':'10:00'},{'break_time':'10:00'},{'break_time':'15:00'},{'break_time':'09:00'}]
const breakCount = arr.filter(function(it) { return it.break_time }).length
const countByValue = arr.reduce(function(acc, curr) {
    acc[curr.break_time] = (acc[curr.break_time] || 0) + 1
    return acc
}, {})
console.log(breakCount)
console.log(countByValue)

当我尝试实现其中任何一个时,我得到了错误ret3.filter类型错误:ret3.filter不是函数或ret3.forEach不是函数。。我正在从mysql获取数据。我还可以以这种格式获取数据[[09:00]、[09:00]、[09:00]、[10:00]、[10:00]、[15:00]、[09:00]]……我不确定确切的格式是什么。好心的建议。好的,你是在一个NodeJs应用程序的上下文中,不是吗?在旧版本的NodeJs中,filter和forEach方法不可用,所以。。。您可以将Ankit Agarwal的答案重新排列如下:``var arr=[…];var obj={};forvar i=0,i