12 июля 2021 14 июля 2021 JavaScript reduce рекурсия children
Для конвертирования иерархии любой вложенности удобно применять рекурсию совместно с reduce
function object_list_2_flat_array (obj_list) {
var conv = function(xxx, x) {
return [x, ...x["children"].reduce(conv, xxx)];
};
return obj_list.reduce(conv, new Array());
};
Тут накапливающий метод reduce вызывает рекурсию для каждого узла иерархии и результаты складывает в аккумулятор.