Доступ к объекту по индексу в массиве объектов в react native

#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].число}

должно решить