Я пытаюсь найти последнее значение 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?
Добавлено в качестве ответа
Пожалуйста, смотрите комментарий в коде ниже - используйте .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()