JSFiddle - React, Tailwind, and code Playground
JavaScript
//сбор уникальных билетов
let props = data[i].proposals;
let main_proposals = proposals.reduce((o, el) => (o[JSON.stringify(el)] = true, o), {});
props.forEach(el => {
if (!main_proposals[JSON.stringify(el)]) proposals.push(el);
});
//сбор данных об аэропортах
let airport_list = $.map(data[i].airports, (value, i) => $.extend(value, {id: i}));
let main_airports = airports.reduce((o, el) => (o[JSON.stringify(el)] = true, o), {});
airport_list.forEach(el => {
if (!main_airports[JSON.stringify(el)]) airports.push(el);
});
//сбор данных об авиакомпаниях
let airlines_list = $.map(data[i].airlines, (value, i) => $.extend(value, {id: i}));
let main_airlines = airlines.reduce((o, el) => (o[JSON.stringify(el)] = true, o), {});
airlines_list.forEach(el => {
if (!main_airlines[JSON.stringify(el)]) airlines.push(el);
});
//сбор данных о гейтах
let gates_list = $.map(data[i].gates_info, (value, i) => $.extend(value, {id: i}));
let main_gates = gates_info.reduce((o, el) => (o[JSON.stringify(el)] = true, o), {});
gates_list.forEach(el => {
if (!main_gates[JSON.stringify(el)]) gates_info.push(el);
});