У меня есть массив объектов, каждый из которых содержит подмассив элементов. Я хочу объединить все элементы в один массив. Я знаю, что могу сделать это с помощью FlatMap() или forEach().
У меня есть массив объектов, каждый из которых содержит подмассив элементов. Я хочу объединить все элементы в один массив. Я знаю, что могу сделать это с помощью FlatMap() или forEach(). [code]const menus = [ { name: 'Menu1', items: [1, 2] }, { name: 'Menu2', items: [3, 4] } ];
const allItems = menus.flatMap(menu => menu.items); [/code] [code]let allItems = []; menus.forEach(menu => { allItems = allItems.concat(menu.items); }); [/code] Вопросы: [list] [*]В чем разница между использованием FlatMap() и forEach() + concat для выравнивания массивов?
[*]Какой подход более читаем и эффективен?
[*]Существуют ли ситуации, когда один из них предпочтительнее другое?