Как отсортировать элементы в объекты по временным меткам - PullRequest
0 голосов
/ 25 марта 2019

У меня есть два массива объектов, которые я хочу объединить в один массив в порядке временных меток, которые являются частью каждого объекта. Первый массив является точным вторым, а второй массив - диапазоном часа. Я хочу ввести значения «влажности» в массиве с точными временными метками в единицу с часовыми диапазонами в зависимости от того, где они находятся, в зависимости от времени. Как мне сделать это в машинописи? Оба массива / объекты отсортированы по времени.

Например:

[{id: 1, timestampUtc: "2019-02-22T08:24:00Z", humidity: 74},
 {id: 2, timestampUtc: "2019-02-24T06:20:00Z", humidity: 39},
 {id: 3, timestampUtc: "2019-02-26T020:03:00Z", humidity: 35}]

и

[{id: 4, starttimestampUtc: "2019-02-22T08:00:00Z", endtimestampUtc: "2019-02-22T09:00:00Z", precipitation: .03},
 {id: 5, starttimestampUtc: "2019-02-24T06:00:00Z", endtimestampUtc: "2019-02-24T07:00:00Z", precipitation: .3},
 {id: 6, starttimestampUtc: "2019-02-26T020:00:00Z",endtimestampUtc: "2019-02-26T021:00:00Z", precipitation: .12}]

выглядеть так:

[{id: 4, starttimestampUtc: "2019-02-22T08:00:00Z", endtimestampUtc: "2019-02-22T09:00:00Z", precipitation: .03, humidity: 74},
 {id: 5, starttimestampUtc: "2019-02-24T06:00:00Z", endtimestampUtc: "2019-02-24T07:00:00Z", precipitation: .3, humidity: 39},
 {id: 6, starttimestampUtc: "2019-02-26T020:00:00Z", endtimestampUtc: "2019-02-26T021:00:00Z", precipitation: .12, , humidity: 35}]

1 Ответ

0 голосов
/ 25 марта 2019

Я смог сделать это, преобразовав метки времени UTC в объекты даты. Мне показалось, что следующий код работает, где a и b - ваши два массива. Я также заметил, что в метках времени последнего элемента каждого массива есть дополнительный 0.

b.map((element) => {
let entry = a.find((e) => {
    let d = new Date(e.timestampUtc)
    let start = new Date(element.starttimestampUtc)
    let end = new Date(element.endtimestampUtc)
    return (d >= start && d <= end)
})
if(entry !== undefined) {
    element.humidity = entry.humidity
}
return element

})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...