#arrays #react-native
#массивы #react-native
Вопрос:
у меня есть базовый массив объектов, поступающих из API, что-то вроде:
[
{date:'2020-10-02, number: 400},
{date:'2020-10-01, number: 200},
... ]
И так далее, на самом деле я не знаю, сколько элементов в массиве, но мне нужно получить последние два
я просто загружаю и сохраняю данные
мой
console.log(data.lenght);
Показывает правильную длину массива (222 на момент записи);
Как я уже сказал, мне нужно показать последнюю дату, фактическое число и разницу с предыдущей датой; если я вручную установлю числа, все будет работать так, как ожидалось:
<Text>
{data[222].date} - {data[222].number}
Variation {data[222].number - data[221].number}
</Text>
но если я попытаюсь использовать длину данных в качестве индекса, это выдаст мне сообщение об ошибке: undefined не является объектом (вычисление ‘data [len].date’
len=data.length
...
<Text>
{len}
{data[len].date} - {data[len].number}
Variation {data[len].number - data[len-1].number}
</Text>
len печатается правильно, я также попытался поместить его в {} double {{}} и другие подобные вещи,
мне было интересно, как я могу получить доступ к объекту, используя «вычисляемый» индекс
Ответ №1:
data.length покажет общее количество элементов, но массив начинается с 0,
{данные[len — 1].дата} — {данные[len — 2].число}
должно решить