Допустим, у меня есть данные, как показано ниже.
[
{
hotelName : "Hotel 1",
hotelType : 1
prices :
[
{
roomType: "Single Room",
price : 1231
},
{
roomType: "Twin Room",
price : 1232
},
{
roomType: "Triple Room",
price : 1233
},
]
},
{
hotelName : "Hotel 2",
hotelType : 2
prices :
[
{
roomType: "Single Room",
price : 1241
},
{
roomType: "Twin Room",
price : 1242
},
{
roomType: "Triple Room",
price : 1243
},
]
}
]
Я хочу отфильтровать отели по цене.
Допустим, я хочу отфильтровать, чтобы получить отель с диапазоном ниже.
диапазон цен от 1231-1233 >> Это вернет мне только отель 1.
диапазон цен от 1231-1431 >> Это вернет мне отель 1 и отель 2.
У меня фильтр того же типа, но там у меня была только 1 цена, поэтому я делал следующее:
finalArray = finalArray.filter() {
CGFloat(($0.prices![0].price)!) >= minValue
&&
CGFloat(($0.prices![0].price)!) <= maxValue
}
Однако теперь у меня есть массив цен, поэтому я не уверен, каксправиться в этом случае.
Проблема в строке
$0.prices![0].price
^^^
Может кто-нибудь указать мне правильное направление, как добиться этого фильтра?