TJ
Size: a a a
TJ
v
if (sort) {
if (sort.includes("1")) {
albums = albums.filter((album) => album.price <= 10)
}
if (sort.includes("2")) {
albums = albums.filter(
(album) => album.price >= 10 && album.price <= 50
)
}
if (sort.includes("3")) {
albums = albums.filter((album) => album.price >= 50)
}
if (sort.includes("1") && sort.includes("2")) {
albums = albums.filter(
(album) =>
album.price <= 10 &&
album.price >= 10 &&
album.price >= 50
)
}
if (sort.includes("1") && sort.includes("3")) {
albums = albums.filter(
(album) => album.price <= 10 && album.price <= 50
)
}
if (sort.includes("2") && sort.includes("3")) {
albums = albums.filter(
(album) =>
album.price >= 10 &&
album.price <= 50 &&
album.price >= 50
)
}
if (
sort.includes("1") &&
sort.includes("2") &&
sort.includes("3")
) {
albums = albums.filter(
(album) => album.price >= 10 && album.price <= 100
)
}
}
v
v
v
v
v
v
v
{
const filterConditionMap = {
1: value => value <= 10,
2: value => value >= 10 && value <= 50,
3: value => value >= 50
}
const filterAlbums = (sort, albums, param) => {
return sort.reduce((result, item) => {
if (sort.includes(param)) {
result.push(...albums.filter(album => filterConditionMap[param](album.price)))
}
return result;
}, [])
}
v
GK
v
v
GK
GK