【问题标题】:Javascript - trying to stop loop at certain iteration and display number of elementsJavascript - 尝试在某些迭代处停止循环并显示元素数量
【发布时间】:2021-01-18 00:17:27
【问题描述】:

我使用moment.js(总共4天)每天都有不同的元素数组。

我想要做的是根据一天显示元素的数量。使用箭头日期切换器进行日期选择(第二天,前一天) 在第 1 天,我有 3 个元素(事件)。 3天前,我有2个活动等等。

我试图创建一个遍历数组的循环,如果事件的时间与当前时刻相等 => 显示元素数。但是当我也想要他时,循环并没有停止。

为了更好的理解,下面是代码:

const m = moment();

  var ctrl = this;

  
  var DEMO_EVENTS = [
    { value: 100, time: moment() },
    { value: 155, time: moment() },
    { value: 83, time: moment() },

    { value: 211, time: moment().subtract(1, 'day') },
    { value: 138, time: moment().subtract(1, 'day') },
    { value: 55, time: moment().subtract(1, 'day') },

    { value: 183, time: moment().subtract(2, 'day') },
    { value: 103, time: moment().subtract(2, 'day') },

    { value: 98, time: moment().subtract(3, 'day') }
  ];

  var demoNumberEvents;
  var index =0;
  
// i add my AngularJS controller logic here
ctrl.date = m.format("ddd, MMM Do YY");
ctrl.demoNumberEvents = demoNumberEvents;



$scope.eventsNumber = function() { 
  
  for(index;index < DEMO_EVENTS.length;index++)
  {
    ctrl.DEMO_EVENTS = DEMO_EVENTS[index];
    if(index = m) 
    {
      break
     
    };
    if (index = m.subtract(2, 'day')) 
    {
      ctrl.demoNumberEvents = 1; 
    }
  }

  
}

我有什么方法可以做到这一点?

【问题讨论】:

  • 比较使用=====
  • index 是一个数字,而 m 是一个对象。你是说DEMO_EVENTS[index].time === m 吗?

标签: javascript arrays angularjs momentjs


【解决方案1】:

当您使用比较时,您需要使用 == 或 ===

例如,使用您的代码if (index = m.subtract(2, 'day')) 应该是if (index = m.subtract(2, 'day'))

如果您不确定何时使用 == 而不是 ===,引用 Douglas Crockford 的优秀 JavaScript:The Good Parts

'' == '0'           // false
0 == ''             // true
0 == '0'            // true

false == 'false'    // false
false == '0'        // true

false == undefined  // false
false == null       // false
null == undefined   // true

' \t\r\n ' == 0     // true

【讨论】:

  • 好的,所以我这样做了,并将功能移至选择前一天的时间。循环遍历数组并检查来自array.time 的moment == 事件。但仍然没有工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-07-28
  • 1970-01-01
  • 1970-01-01
  • 2020-04-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多