Не сортируется по отзывам(sortReview)
const qqq = [{
name: `Alina`,
price: `priceless`,
review: 0
},
{
name: `Oksana`,
price: `333qwe`,
review: 555
},
{
name: `lera`,
price: `222qwe`,
review: {
newUan: `2 444`
}
}
]
function sortByPrice(qqq) {
const temp = JSON.parse(JSON.stringify(qqq))
temp.forEach(element => {
element.price = +element.price.replace(/\D/g, '')
});
temp.sort((a, b) => a.price > b.price ? 1 : -1)
document.querySelector(`.result`).innerHTML = ''
temp.forEach(item => {
document.querySelector(`.result`).innerHTML += `
<h3 >${item.name}</h3>
<div>Цена: ${item.price}</div>
`
})
}
function sortReview(qqq) {
const temp = JSON.parse(JSON.stringify(qqq))
temp.forEach(item => {
if (typeof(item.review) === `string`) {
item.review = +item.review.replace(/\D/g, '')
} else {
item.review = item.review.newUan.replace(/\D/g, '')
}
})
temp.sort((a, b) => a.review > b.review ? 1 : -1)
document.querySelector(`.result`).innerHTML = ''
temp.forEach(item => {
document.querySelector(`.result`).innerHTML += `
<h3>${item.name}</h3>
<div>Цена: ${item.price}</div>
<div>Отзывы: ${item.review}</div>
`
})
}
document.querySelector(`.review`).addEventListener(`click`, () => {
sortReview(qqq)
})
document.querySelector(`.feed`).addEventListener(`click`, () => {
sortByPrice(qqq)
})
<body>
<div class="result"></div>
<button class="review">Отсортировать по отзывам</button>
<button class="feed">Отсортирвать по цене(руб)</button>
</body>
Не сортируется по второй функции (sortReview). Первая работает исправно.
Источник: Stack Overflow на русском