Доступ к свойству объекта с использованием имени ключа на карте - PullRequest
0 голосов
/ 03 января 2019

У меня есть массив объектов ниже

const reports = [{id:3, name:'three', description:'three d', other: 'other 3'}, {id:2, name:'two', description:'two d', other: 'other 2'}];

, и я хочу отфильтровать только 2 свойства каждого объекта, а ниже - желаемый результат

[{id:3, name:'three'}, {id:2, name:'two'}];

, поэтому попробовал этот способ

const reportList = reports.map((report) => {id,name} );
console.log(reportList);

ошибка выброса

ReferenceError: идентификатор не определен

, даже если я могу достичь этого с помощью этого подхода

 this.reportList = reports.map((report) => ({
                id: report.id,
                name: report.name,
                description: report.description
            }));

но здесь мне нужно написать дополнительный код, я хочу использовать средство доступа к объекту с помощью ключа, могу ли я достичь в любом случае?

1 Ответ

0 голосов
/ 03 января 2019

Вы должны обернуть возвращаемый литерал объекта в скобки. В противном случае будут считаться фигурные скобки для обозначения тела функции. Следующие работы:

const reports = [{
  id: 3,
  name: 'three',
  description: 'three d',
  other: 'other 3'
}, {
  id: 2,
  name: 'two',
  description: 'two d',
  other: 'other 2'
}];

const reportList = reports.map(({id, name}) => ({
  id,
  name
}));
console.log(reportList);

Ссылка: Возвращение литералов объекта по MDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...