Есть массив с каютами:
const cabins = [{
adult: 1, // выбран 1 взрослый
teenager: 1, // выбран 1 подросток
babe: 1 // выбран 1 ребенок
},
{
adult: 2, // выбрано 2 взрослых
teenager: 0,
babe: 1 // выбран 1 ребенок
}
]
В котором было выбрано условно 2 каюты с пассажирами, при создании данного массива так же должен отдельно создаться еще один массив passengers = [] в котором будут присутствовать объекты (1 пассажир === 1 объект) с свойством WithSeat: 1 или WithSeat: 0 в зависимости от информации с backend который я получаю ниже:
const obj = {
result: "1",
types: [{
ID: 1,
Text: "Взрослый",
WithSeat: 1 //с местом
},
{
ID: 2,
Text: "Подросток",
WithSeat: 1 //с местом
},
{
ID: 3,
Text: "Ребенок",
WithSeat: 0 //без места
}
]
}
Вытаскиваю примерно так нужные мне WithSeat из объектов и присваиваю в переменные для дальнейшей работы:
const adultSixteenWithSeat = result.types[0]["WithSeat"]; // === 1
const childTwelveToSixteenWithSeat = result.types[1]["WithSeat"]; // === 1
const childUpToOneWithSeat = result.types[2]["WithSeat"]; // === 0
В конечном итоге я должен получить вот такую структуру массива объектов пассажиров:
const passengers = [{
WithSeat: 1, // adult
},
{
WithSeat: 1, // teenager
},
{
WithSeat: 0, // babe
},
{
WithSeat: 1, // adult
},
{
WithSeat: 1, // adult
},
{
WithSeat: 0, // babe
},
]
По принципу работы это счетчик в котором выбирается количество пассажиров и формируется массив cabins, приблизительный наглядный пример:
https://jsfiddle.net/xfh2csby/1/