у меня 3 условия:
, если большинство Average равно 200, отобразить «вверх» в массив
, если большинство среднего значения отличается от 200, отобразите «вниз» в массив и возьмите первую метку времени, где среднее значение отличается от 200.
И я не знаю, как я могу сделать последнее:
- мы снова скомпилируем скрипт, если раньше у меня было «down», а теперь большинство составляет 200 («up»), мы должны сохранить временную метку и не ставить ее в ноль.
Можете ли вы помочь мне, пожалуйста:)
getAllMetrics(regions).then(res => {
console.log(res);
/*
[[{Timestamp: 2019-01-15T08:26:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:32:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:26:00.000, Average: 200},
{Timestamp: 2019-01-15T08:29:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:35:00.000Z, Average: 200}],
[{Timestamp: 2019-01-15T08:26:00.000Z, Average: 400},
{Timestamp: 2019-01-15T08:32:00.000Z, Average: 400},
{Timestamp: 2019-01-15T08:26:00.000, Average: 400},
{Timestamp: 2019-01-15T08:29:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:35:00.000Z, Average: 200}]] */
/* SECOND COMPILATION
[[{Timestamp: 2019-01-15T08:26:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:32:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:26:00.000, Average: 200},
{Timestamp: 2019-01-15T08:29:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:35:00.000Z, Average: 200}],
[{Timestamp: 2019-01-15T08:26:00.000Z, Average: 400},
{Timestamp: 2019-01-15T08:32:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:26:00.000, Average: 200},
{Timestamp: 2019-01-15T08:29:00.000Z, Average: 200},
{Timestamp: 2019-01-15T08:35:00.000Z, Average: 200}]] */
tabRES = [];
//Loop regions
var i = -1;
TsTAB = [null, null, null];
var a=-1;
while( tabReg[++a] ){
TsTAB.push( null );
}
while (res[++i]) {
Avg = {
up: 0,
down: 0
};
Ts = "";
RespARRAY = res[i];
var j = -1;
while (RespARRAY[++j]) {
if (RespARRAY[j].Average == 200) {
Avg.up++ // IF 200 -> UP
//and push array TS
} else {
Avg.down++ // -> DOWN
//Retrieve the last
Ts = Ts || RespARRAY[j].Timestamp;
}
}
if (Avg.up > Avg.down) {
tabRES.push('up');
} else {
tabRES.push('down');
TsTAB[i] = TsTAB[i] || Ts;
}
}
console.log(tabRES);
console.log(TsTAB);
}).catch(err => {
console.log(err);
});
Фактический результат (первое и второе условие):
- ['вверх', 'вниз']
- [null, 3 дня назад]
Ожидаемый результат (последнее условие) (/! \ Значение среднего изменения для второго региона)
- [ 'до', 'до']
- [null, 3 дня назад]