нужно отфильтровать массивы по промежуткам СХОЖИЕ ВОПРОСЫ НЕ РЕШАЮТ МОЮ ПРОБЛЕМУ
СХОЖИЕ ВОПРОСЫ НЕ РЕШАЮТ МОЮ ПРОБЛЕМУ У каждого курса есть цена, которая является диапазоном. Как можно отфильтровать список курсов, чтобы выдались только подходящие по цене?
// Список курсов
let courses = [
{ name: "Courses in England", prices: [0, 100] },
{ name: "Courses in Germany", prices: [500, null] },
{ name: "Courses in Italy", prices: [100, 200] },
{ name: "Courses in Russia", prices: [null, 400] },
{ name: "Courses in China", prices: [50, 250] },
{ name: "Courses in USA", prices: [200, null] },
{ name: "Courses in Kazakhstan", prices: [56, 324] },
{ name: "Courses in France", prices: [null, null] },
];
// Варианты цен (фильтры), которые ищет пользователь
let requiredRange1 = [null, 200];
let requiredRange2 = [100, 350];
let requiredRange3 = [200, null];
Я смогла дойти только до такого варианта. Заменила null на значения, но дальше не понимаю, что делать.
let courses = [
{ name: "Courses in England", prices: [0, 100] },
{ name: "Courses in Germany", prices: [500, Infinity] },
{ name: "Courses in Italy", prices: [100, 200] },
{ name: "Courses in Russia", prices: [0, 400] },
{ name: "Courses in China", prices: [50, 250] },
{ name: "Courses in USA", prices: [200, Infinity] },
{ name: "Courses in Kazakhstan", prices: [56, 324] },
{ name: "Courses in France", prices: [0, Infinity] },
];
let requiredRange1 = [0, 200];
let requiredRange2 = [100, 350];
let requiredRange3 = [200, Infinity];
function toTwoHundred (arr) {
const temp = JSON.parse(JSON.stringify(arr));
temp.forEach( item => {
let filtered = item.prices.filter(n => n <= 200);
console.log(filtered);
});
}
toTwoHundred(courses);