Я хотел бы иметь массив с меткой времени как ключи и цифры в качестве значений. Таким образом, я хочу отслеживать, как много автомобилей вошли или покинули автостоянку, а также сколько автомобилей припарковали на стоянке одновременно.Javascript: Array с меткой времени как клавиши
Основа: - Получить список действий для парковки с ввести дату и дату выхода для каждой сделки - Получить все эти даты в массив с отметкой времени, как ключ и + = 1, если ввести дату и - = 1 для даты выхода - Сортировка по дате - Проходите отсортированный массив и добавить счетчик, отслеживать, если новый максимум достигается
var result = [];
var counter = 0;
var max = 0;
//SELECT enterTS, exitTS FROM parking;
// validated, that works
while (!rs.eof) {
var es = rs.fields(1).toString();
var dd = rs.fields(2).toString();
result[es] += 1; //might happen at the same time with exit or other entries
result[dd] -= 1;
alert('Start' + es); //correct timestamp
alert('Array' + result[es]); //shows NaN
}
result.sort();
for (var key in result) {
counter += result[key];
if(counter > max){
max = counter;
}
}
Спасибо за любую помощь. Я знаю, что это не рабочий фрагмент кода, но без подключения к данным это сложно. Я уже пробовал ассоциативные массивы, но не смог понять, как я могу использовать в этом примере.
Еще раз спасибо, FJ
Также проверьте, если '.hasOwnProperty' – domokun
@domokun: Правда, я редактировал ответ включить это. Я не хотел путать проблему, но это стоит упомянуть. –
Это не будет работать без дополнительной работы, потому что вы не можете сортировать ключи объектов. Итерация с использованием 'var key in result' не будет генерировать значения в правильном порядке. –