Я пытаюсь написать функцию, которая создает новый массив объектов, предоставляя мне все данные в диапазоне from
и to
указанных параметров.
т.е.
const data = [
{
timestamp: '2015-09-01T16:00:00.000Z',
temperature: 27.1,
dewPoint: 17.1,
},
{
timestamp: '2015-09-01T16:10:00.000Z',
temperature: 27.2,
dewPoint: 17.2,
},
{
timestamp: '2015-09-01T16:20:00.000Z',
temperature: 27.3,
dewPoint: 17.3,
},
{
timestamp: '2015-09-01T16:30:00.000Z',
temperature: 27.4,
dewPoint: 17.4,
}
]
Идея состоит в том, чтобы иметь вспомогательный метод, который фильтрует и выводит данные в пределах from
и to
в новом массиве []
function getValuesInRange(from, to) {
let sortedArray = []
let filteredValues = []
let index = indexOf(from) // error => indexOf is not defined
while (index < sortedArray.length) {
const valueAtIndex = sortedArray[index]
if (valueAtIndex.key >= from && valueAtIndex.key < to) {
filteredValues.push(valueAtIndex.value)
index++
} else {
break
}
}
console.log(filteredValues)
return filteredValues
}
const fromDateTime = data[0].timestamp)
const toDateTime = data[2].timestamp)
getValuesInRange(fromDateTime, toDateTime)
Приведенный выше метод в настоящее время содержит ошибку indexOf is not defined
Вкл. getValuesInRange()
Массирую ли я данные соответственно, чтобы получить желаемый результат здесь? Не могли бы вы также показать мне ES6 эквивалент этого усилия?