Javascript: увеличение конечных переменных - PullRequest
2 голосов
/ 16 февраля 2020

Я хотел бы знать простой способ увеличить конец переменной с помощью инкрементного числа, а затем проверить это позже.

Например, создание var с использованием a для l oop или другого метода

Пример:

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' }]);
}

, но для отвлечения внимания при письме (я думал, что смогу решить эту проблему) кстати) мне нужно было бы разбить время начала и время окончания, чтобы получить два отдельных фрагмента .

, которые помещают все в массив и не получают результат, потому что он не может разделять свойства .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' },

, для этого я имел в виду вопрос, как увеличить только конец переменной (которая создает проблема для меня) еще раз спасибо.

Ответы [ 2 ]

3 голосов
/ 16 февраля 2020

использовать массив для pu sh объекта внутри, затем l oop размер массива выброса для вывода результата

let timeArray =[];

for(i=0; i< 5; i++) {
  timeArray.push(new Date());
}

for(i=0; i< timeArray.length; i++) {
  console.log(timeArray[i]);
}
0 голосов
/ 19 февраля 2020

Используя пример вашего набора данных, приведенный ниже фрагмент объясняет в комментарии, как создать временную шкалу для одной функции 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>
...