Javascript 优化JS函数,根据月份过滤数据

Javascript 优化JS函数,根据月份过滤数据,javascript,angularjs,function,momentjs,datejs,Javascript,Angularjs,Function,Momentjs,Datejs,目前,我已经编写了下面的函数来根据月份过滤项目,并返回数组,我使用了下面的登录 有人能帮忙吗?有没有什么方法可以让我更容易地使用datejs或矩js进行过滤,并以更有效的方式使用for循环 在这里,我以2017年1月2日的格式获取日期,并基于includes方法进行过滤 提前谢谢 Javascript function getMonthlyCount() { return yearlyExecution() .then(function(myitems) {

目前,我已经编写了下面的函数来根据月份过滤项目,并返回数组,我使用了下面的登录

有人能帮忙吗?有没有什么方法可以让我更容易地使用datejs或矩js进行过滤,并以更有效的方式使用for循环

在这里,我以2017年1月2日的格式获取日期,并基于
includes
方法进行过滤

提前谢谢

Javascript

 function getMonthlyCount() {
    return yearlyExecution()
      .then(function(myitems) {
        monthlyDataForGraph = [];
        var janFinalCount = febFinalCount = marFinalCount = aprFinalCount = mayFinalCount = junFinalCount = julFinalCount = augFinalCount = sepFinalCount = octFinalCount = novFinalCount = decFinalCount = 0;
        myitems.forEach(function(items) {
          releasename = items[0].cycleName;
          janData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Jan/17"))
              return inputs;
          });
          febData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Feb/17"))
              return inputs;
          });
          marData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Mar/17"))
              return inputs;
          });
          aprData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Apr/17"))
              return inputs;
          });
          mayData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("May/17"))
              return inputs;
          });
          junData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Jun/17"))
              return inputs;
          });
          julData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Jul/17"))
              return inputs;
          });
          augData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Aug/17"))
              return inputs;
          });
          sepData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Sep/17"))
              return inputs;
          });
          octData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Oct/17"))
              return inputs;
          });
          novData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Nov/17"))
              return inputs;
          });
          decData = $filter('filter')(items, function(inputs) {
            if (inputs.executedOn.includes("Dec/17"))
              return inputs;
          });
          janFinalCount = janFinalCount + janData.length;
          febFinalCount = febFinalCount + febData.length;
          marFinalCount = marFinalCount + marData.length;
          aprFinalCount = aprFinalCount + aprData.length;
          mayFinalCount = mayFinalCount + mayData.length;
          junFinalCount = junFinalCount + junData.length;
          julFinalCount = julFinalCount + julData.length;
          augFinalCount = augFinalCount + augData.length;
          sepFinalCount = sepFinalCount + sepData.length;
          octFinalCount = octFinalCount + octData.length;
          novFinalCount = novFinalCount + novData.length;
          decFinalCount = decFinalCount + decData.length;
        });
        monthlyDataForGraph = [janFinalCount, febFinalCount, marFinalCount, aprFinalCount, mayFinalCount, junFinalCount, julFinalCount, augFinalCount, sepFinalCount, octFinalCount, novFinalCount, decFinalCount];
        console.log('Monthly Data For Graph', monthlyDataForGraph);
        return monthlyDataForGraph;
      });
  }
你可以和这样的东西一起使用

var data= _.groupBy(arr,function(item){return moment(inputs.executedOn,"DD/MMM/YY").format("MMM")})



var janData=data["Jan"] ? data["Jan"].length : 0;

您可以将月份的值存储在数组中,并在单个$filter函数中迭代这些值,而不必多次执行if条件,只需稍微更正
var janData=data[“Jan”]?数据[“一月”]。长度:0
@Batman ok bro然后需要将
格式(“MM”)
更改为
格式(“MMM”)