Javascript - 从数组中删除值 - 构造时间数组

标签 javascript arrays

我在解决这个问题时遇到了问题。我的想法是我有一组我正在考虑时间的值,我需要删除与特定时间重叠的所有值:

var availableTimes = ['0 - 0.5', '0.5 - 1', '1 - 1.5', '1.5 -2', '2 - 2.5', '2.5 -3']

var timeToRemove = '0.5 - 2'

我可以完全控制数组的外观,但这就是我的想法。我不知道如何构建我的可用时间数组和我的 timeToRemove 以便完成此操作。我使用的是 24:00 时钟,所以 1 - 1.5 是凌晨 1:00 到凌晨 1:30。

关于构建它的最佳方法有什么想法吗?

最佳答案

我更喜欢面向对象的方式:

(1) 构造一个包含以下结构的对象的数组:

  {
        StartTime:[fload],
        EndTime:[fload]
  }

所以你的时间数组看起来像这样

 var availableTimes=
    [
      {StartTime:0,EndTime:0.5},
      {...}
    ];

(2) 待移除时间结构相同:

  var timeToRemove = '0.5 - 2';
  =>
  var timeToRemove={StartTime:0.5,EndTime:2};

(3) 删除算法如下:

  for (var i=0;i<availableTimes.length;i++)
    {
      if(availableTimes[i].StartTime > timeToRemove.StartTime 
        && availableTimes[i].EndTime < timeToRemove.EndTime)
        availableTimes[i]=null; //perform deletion
    }

关于Javascript - 从数组中删除值 - 构造时间数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24066116/

相关文章:

javascript - 重定向实时网站访问者而不刷新或单击任何内容?

javascript - 如何在帖子列表中首先添加新帖子?

java - int[] 和 Integer[] 数组 - 有什么区别?

javascript - 用于 JSUnit 测试的公共(public)测试群?

javascript - 当对象位于 iframe 中时,JqueryUI 可拖动不会触发停止事件

python - 如何有效地将 numpy 数组的一列舍入到最接近的 0.5?

PHP:函数将大量数组作为参数传递

c - C中的频率分析,如何获取数组中的整个ascii表?

php - 显示从下拉列表中检索到的数据

arrays - 如何将数组拆分为偶数 block 以进行并行处理