29 lines
1.1 KiB
JavaScript
29 lines
1.1 KiB
JavaScript
|
|
// Код для Code ноды в n8n
|
|||
|
|
// Преобразует вложенную структуру с data в плоский объект
|
|||
|
|
// Вход: [{ "data": [{...объект1...}, {...объект2...}] }]
|
|||
|
|
// Выход: [{...объект1 + объект2...}]
|
|||
|
|
|
|||
|
|
// Получаем входные данные
|
|||
|
|
const inputData = $input.all();
|
|||
|
|
|
|||
|
|
// Обрабатываем каждый элемент входного массива
|
|||
|
|
const result = inputData.map(item => {
|
|||
|
|
// Проверяем наличие data
|
|||
|
|
if (!item.json || !item.json.data || !Array.isArray(item.json.data)) {
|
|||
|
|
return item.json; // Если структура не та, возвращаем как есть
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Объединяем все объекты из массива data в один объект
|
|||
|
|
const mergedObject = {};
|
|||
|
|
|
|||
|
|
item.json.data.forEach(obj => {
|
|||
|
|
// Копируем все свойства из каждого объекта в объединенный
|
|||
|
|
Object.assign(mergedObject, obj);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
return mergedObject;
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
// Возвращаем результат
|
|||
|
|
return result;
|