Доброго времени! Сделал вот такую ф-ю, как её упростить? Ломаю голова над методом filter, но что то уже запутался.
let colorize = (length) => {
const colorFromNumberOfPeople = [
{ minPeople: 0, color: 'gray' },
{ minPeople: 2, color: 'blue' },
{ minPeople: 6, color: 'green' },
{ minPeople: 10, color: 'red' },
];
return
length > colorFromNumberOfPeople[3].minPeople
? colorFromNumberOfPeople[3].color
: length > colorFromNumberOfPeople[2].minPeople
? colorFromNumberOfPeople[2].color
: length > colorFromNumberOfPeople[1].minPeople
? colorFromNumberOfPeople[1].color
: length > colorFromNumberOfPeople[0].minPeople
? colorFromNumberOfPeople[0].color
: '';
};
let colorize = (length) => {
const colorFromNumberOfPeople = [
{ minPeople: 0, color: 'gray' },
{ minPeople: 2, color: 'blue' },
{ minPeople: 6, color: 'green' },
{ minPeople: 10, color: 'red' },
];
return Math.max.apply(null, colorFromNumberOfPeople.filter(el => el.minPeople < length).map(el => el.minPeople));
};
colorize(11);
Может потом что-то по-лучше подкинут
Но вообще можно обычным циклом пробежать и в переменную последнее значение записывать