Я пытаюсь найти последнее значение GDPAnn из массива Annual. Код ниже работает нормально. Но если GDPAnn недоступен в последнем значении, возвращается undefined. Например, я хочу
значение 10251000 GDPAnn из массива Annual2.
var Annual = [{"Date":1998,"Value":4.5,"GDPAnn":9062800},{"Date":1999,"Value":4.8,"GDPAnn":9631200},{"Date":2000,"Value":4.1,"GDPAnn":10251000},{"Date":2001,"Value":1,"GDPAnn":10581900}]
x = Annual.map((o) => o.GDPAnn).pop();
console.info(x);
var Annual2 = [{"Date":1998,"Value":4.5,"GDPAnn":9062800},{"Date":1999,"Value":4.8,"GDPAnn":9631200},{"Date":2000,"Value":4.1,"GDPAnn":10251000},{"Date":2001,"Value":1}]
y = Annual2.map((o) => o.GDPAnn).pop();
console.info(y);Спасибо. Можете ли вы помочь мне, поскольку я новичок в JS?
Добавлено в качестве ответа



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Пожалуйста, смотрите комментарий в коде ниже - используйте .filter()
var Annual = [{"Date":1998,"Value":4.5,"GDPAnn":9062800},{"Date":1999,"Value":4.8,"GDPAnn":9631200},{"Date":2000,"Value":4.1,"GDPAnn":10251000},{"Date":2001,"Value":1,"GDPAnn":10581900}]
x = Annual.map((o) => o.GDPAnn).pop();
console.info(x);
var Annual2 = [{"Date":1998,"Value":4.5,"GDPAnn":9062800},{"Date":1999,"Value":4.8,"GDPAnn":9631200},{"Date":2000,"Value":4.1,"GDPAnn":10251000},{"Date":2001,"Value":1}]
// Adding filter here to only include items with the GDPAnn key
y = Annual2.filter((o) => o.GDPAnn).map((o) => o.GDPAnn).pop();
console.info(y);Это может быть простой обходной путь
var Annual = [{"Date":1998,"Value":4.5,"GDPAnn":9062800},{"Date":1999,"Value":4.8,"GDPAnn":9631200},{"Date":2000,"Value":4.1,"GDPAnn":10251000},{"Date":2001,"Value":1,"GDPAnn":10581900}]
x = Annual.map((o) => o.GDPAnn).pop();
console.info(x);
var Annual2 = [{"Date":1998,"Value":4.5,"GDPAnn":9062800},{"Date":1999,"Value":4.8,"GDPAnn":9631200},{"Date":2000,"Value":4.1,"GDPAnn":10251000},{"Date":2001,"Value":1}]
y = Annual2.filter(o=> o.GDPAnn).map((o) => o.GDPAnn).pop();
console.info(y);let y = Annual2.reduce((prev, curr) => curr.GDPAnn ? curr : prev).GDPAnn
Отфильтруйте массив, чтобы включить только элементы с ключом
GDPAnnперед запуском.map()