хорошо, если вы пытаетесь равномерно распределить по дате, то убедитесь, что все ваши объекты в классе даты, то сделать массив [29] .getTime() - массив [0] .getTime()/7 для вашего среднего шага, затем сделайте что-то вроде array.forEach() с помощью функции сравнения, чтобы попытаться приблизиться к каждому шагу.
--edit--
попробовать что-то вроде:
//dateArray is array of dates
var targetTime:Number;
var filteredarray:Array = new Array();
var step = dateArray[29].getTime()-dateArray[0].getTime() /7
var smallestdist:Number;
var currentIndex:int;
filteredarray.push(dateArray[0]); //Add the first entry
targetTime = dateArray[29].getTime(); //set the lowest point
for(var i=1; i<7; i++){ //loop 6 more times
smallestdist = Number.POSITIVE_INFINITY; //set a large smalldist
currentIndex = 0; //Set a small index
targetTime += step; //increment the target time
dateArray.forEach(testDate); //loop through the array and test with testDate function
filteredarray[i] = dateArray[currentIndex] //Add the result to the dateArray
}
function testDate(item:Date, index:int, array:Array){
//Check the absolute value against current stored distance
if(Math.abs(item.getTime() - targetTime) < smallestdist){
//if less then set this as new target
smallestdist = Math.abs(item.getTime() - targetTime);
currentIndex = index;
}
}
это, конечно, имеет дело с preumed даже распространение дат, там может быть вешать добавления ту же дату в несколько различных если все dateArray собраны вместе, можно оптимизировать, но посмотрите, что вы можете с ним сделать.
i havnt проверял этот код, но он должен работать довольно корректно. взглянуть на них, если у вас есть проблема:
Array::forEach()
Date::getTime()
Является ли это какой-то типом проблемы домашнего задания? – BoxOfNotGoodery
Нет, но это проблема, с которой я сталкиваюсь. Мои надежды в том, что ваш вопрос подразумевает, что его легко? Спасибо – toneb
Можете ли вы дать быстрый пример входов и ожидаемого результата? Мне интересно, что именно вам нужно здесь. Будут ли даты случайными? Если вы можете просто объяснить, я попытаюсь придумать пример. – BoxOfNotGoodery