Получить новый массив с некоторыми полями другого массива - PullRequest
1 голос
/ 13 января 2020

Я работаю с некоторыми массивами в Ioni c Angular, и у меня есть этот код:

this.items = [];
this.places = [{"first_name":"joe","last_name":"Jobs","description":"engineer"},
          {"first_name":"mary","last_name":"trump","description":"doctor"}];

Мне нужно получить это:

this.items =[{"first_name":"joe","description":"engineer"},{"first_name":"mary","description":"doctor"}];

У меня есть это

        this.places.forEach((item) => {
        this.items.push('{"name:"'+ 
        item.first_name+',"description":'+item.description+'}');
    }

Я получил это сообщение об ошибке:

Невозможно прочитать свойство 'pu sh' из неопределенного

Может ли кто-нибудь направить меня в праве способ

Ответы [ 2 ]

2 голосов
/ 13 января 2020

Вы можете просто положить sh объект непосредственно на предметы []

items=[]
places = [{"first_name":"joe","last_name":"Jobs","description":"engineer"},
          {"first_name":"mary","last_name":"trump","description":"doctor"}];

places.forEach((item) => {
      items.push({
        name:item.first_name,
        description:item.description
      })
});

console.log(items)
1 голос
/ 13 января 2020

Вы можете использовать функцию map , например:

this.places = [{"first_name":"joe","last_name":"Jobs","description":"engineer"},
          {"first_name":"mary","last_name":"trump","description":"doctor"}];

// Using map function
this.items = this.places.map(x => ({first_name: x.first_name, description: x.description}));

console.log(this.items);
console.log('========');

this.items = [];

// Using forEach loop
this.places.forEach(item => {
    this.items.push({name: item.first_name, description: item.description});
})

console.log(this.items);
console.log('========');

this.items = [];

// Using for loop
for (var item of this.places) {
    this.items.push({name: item.first_name, description: item.description});
}

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