У меня есть некоторые данные из классного сервиса в Angular, которые выглядят так (кратко):
const obj = {
field: [
{
id: 1,
items: []
},
{
id: 2,
items: [ { wateva: 'wateva1' } ]
},
{
id: 3,
items: false
},
{
id: 4,
items: [ { yeah: 7 } ]
}
]
}
Ну, моя задача - просто собрать все элементы массива, которые не являются пустыми.Мое решение (на самом деле мое решение написано на TypeScript и Angular 5, но здесь, чтобы сделать его более простым и понятным, оно будет похоже на ...):
function getItems() {
const items = [];
obj.field.forEach(currentField => {
if (currentField.items && currentField.items.length) {
currentField.items.forEach(currentItem => items.push(currentItem));
}
});
return items;
}
Правильно, оно невероятно просто и работаеткак и ожидалось (текущий вернется ...):
[ { wateva: 'wateva1' }, { yeah: 7 } ]
А теперь мой вопрос ... Как сделать мое решение функциональным?Я хочу избавиться от своей новой переменной items , я не хочу вставлять эту переменную, я просто хочу вернуть результат одним действием.Мы будем благодарны за любую помощь.
PS Предложения с третьими библиотеками не принимаются:)