Я обычно использую эту утилиту для таких вещей:
const clamp = (value, min, max) => value > min? value < max? value: max: min;
price2percent = (sale) => {
let price = clamp(sale.soldPrice / sale.livingArea, 15000, 100000);
return (price - 1500) / 85000;
}
Я считаю, что она более читабельна, чем конструкция Math.min(max, Math.max(min, value))
.
Недостаток, в текущей версии она нехорошо играть с NaN
.