【问题标题】:Javascript: increase end variablesJavascript:增加结束变量
【发布时间】:2020-05-31 06:03:18
【问题描述】:

我想知道一个简单的方法,用递增的数字增加一个变量的末尾,然后再检查它。

例如使用 for 循环或其他方法创建 var

例子:

var example0=new Date(property.time);
var example1=new Date(property.time);
var example2=new Date(property.time);
var example3=new Date(property.time);

更新

感谢您的回答,我不知道是否要再次讨论,但我实际上低估了认为可以解决我的问题的问题,实际上情况更复杂,我更好地解释自己: 我尝试使用如下数组:

let startArray =[];
let endArray =[];

for(i=0; i< 4; i++) {
   for(j=1; j< 5; j++) {
      startArray.push new Date(demoTracks[0].properties.time[i]);
      endArray.push new Date(demoTracks[0].properties.time[j]);
   }
}

  // Get start/end times
  var timelineData = new vis.DataSet([{start: startArray[i], end: 
  endArray[i],  
  content: 'Tracks' }]);
}

但是为了分散我写作的注意力(我认为我可以通过这种方式解决),我需要将开始时间与结束时间分开以获得两个单独的片段

将所有内容放入数组中,但无法获得结果,因为它无法将 properties.time[0] 与 properties.time[1] 分开,这也需要递增分别地。我准确地展示了我需要的东西:

var startTime1 = new Date(demoTracks[0].properties.time[0]);
var endTime1 = new Date(demoTracks[0].properties.time[1]);
var startTime2 = new Date(demoTracks[0].properties.time[1]);
var endTime2 = new Date(demoTracks[0].properties.time[2]);
var startTime3 = new Date(demoTracks[0].properties.time[2]);
var endTime3 = new Date(demoTracks[0].properties.time[3]);

然后调用:

var timelineData = new vis.DataSet([{start: startTime, end: endTime,  
content: 'Tracks' },

为此,我的意思是如何只增加变量的结尾(这对我来说是个问题)再次感谢。

【问题讨论】:

    标签: javascript for-loop vis.js vis.js-timeline


    【解决方案1】:

    使用您的示例数据集,下面的 sn-p 在评论中解释如何使用时间数组数据为一个 demoTrack 功能创建时间线。

    var tillicum = { "type": "Feature", "geometry": { "type": "MultiPoint", "coordinates": [ [-123.77252789, 44.37857221 ], [-123.77317087, 44.37864694 ], [-123.77383407, 44.37875853 ] ] }, "properties": { "title": "tillicum", "path_options": { "color": "red" }, "time": [ 1580403952000, 1580403990000, 1580404202000 ], "altitude": [ 0, 0, 0 ], "raw": [] }, "bbox": [ [-124.09386637, 44.34348063 ], [-124.09386637, 44.56531305 ], [-123.26148271, 44.56531305 ], [-123.26148271, 44.34348063 ] ] }; 
    
    var demoTracks = [tillicum];
    
    // DOM element where the Timeline will be attached
    var container = document.getElementById('timeline');
    
    //get items array for dataset  from below created function
    let trackItems = getItemArray(demoTracks[0]);
    console.log(trackItems);
    
    // create dataSet
    let items = new vis.DataSet(trackItems);
    
    
    // Configuration for the Timeline
    var timelineOptions = {};
    
    // crate vis dataset from items returned by below function
    
    // Create a Timeline
    var timeline = new vis.Timeline(container, items, timelineOptions);
    
    
    // function that returns items in format to create vis dataset element
    function getItemArray(demoTracksElement) {
      let timeArray = [];
      try {
        let iter = 0;
        // set length -1 to preent adding last elemnt as timeline element in graph
        for(iter; iter < demoTracksElement.properties.time.length -1 ; iter++ ) {
            timeArray.push({
              id: iter,
              content: 'Tracks '+iter,
              start: demoTracksElement.properties.time[iter],
              end:demoTracksElement.properties.time[iter+1]
            })
        }
        
        return timeArray;
        
      } catch (e) {
        console.log(e);
        alert("something went wong with sent data");
        return null; 
      }
    }
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.js"></script>
    <link href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis-timeline-graph2d.min.css" rel="stylesheet" />
    
    
    
    <div id="timeline"></div>

    【讨论】:

      猜你喜欢
      • 2013-10-24
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 2012-10-02
      • 2011-08-23
      • 1970-01-01
      • 2021-07-08
      相关资源
      最近更新 更多