#javascript #arrays #filter #angular8 #immutability
#javascript #массивы #Фильтр #angular8 #неизменность
Вопрос:
я хотел бы извлечь filterPillvalue и поместить его в массив, а вывод массива должен быть таким:
mode = ['anyValue','Repsonding','Unresponsive']
Вот моя попытка
this.items = [
{
filterPillValue: 'anyValue',
id: 'all-systems',
label: 'All systems'
},
{
filterPillValue: 'Responding',
id: 'responding',
label: 'Responding systems'
},
{
filterPillValue: 'Unresponsive',
id: 'unresponsive',
label: 'Unresponsive systems'
}
];
моя попытка, которая не работает в этом случае
mode = this.items.filter(x=>x.filterPillValue);
Комментарии:
1.
map
это то, что вам нужноmode = this.items.map(x=>x.filterPillValue);
2. теперь работает. используем ли мы map, потому что это объект, а не массив?
3. @user21 нет, вы используете
map
, потому что хотите преобразовать один массив в другой. СмотритеArray.prototype.map()
Ответ №1:
Это будет работать.
mode = this.items.map(({filterPillValue}) => filterPillValue);
или
mode = this.items.map((item) => item.filterPillValue);
Ответ №2:
items = [
{
filterPillValue: 'anyValue',
id: 'all-systems',
label: 'All systems'
},
{
filterPillValue: 'Responding',
id: 'responding',
label: 'Responding systems'
},
{
filterPillValue: 'Unresponsive',
id: 'unresponsive',
label: 'Unresponsive systems'
}
];
const node=items.map(item=>item.filterPillValue)
console.log(node)