SM
Size: a a a
SM
В
function gradeCalculator(grade) {
if (grade >= 90) {return 'A'};
if (grade === 89 || grade >= 80) {return 'B'};
if (grade === 79 || grade >= 70) {return 'C'};
if (grade === 69 || grade >= 60) {return 'D'};
if (grade <= 59) {return 'F'};
}
console.log(gradeCalculator(92)); //=> "A"
console.log(gradeCalculator(84)); //=> "B"
console.log(gradeCalculator(70)); //=> "C"
console.log(gradeCalculator(61)); //=> "D"
console.log(gradeCalculator(43)); //=> "F"
З🧟
З🧟
SM
SM
З🧟
З🧟
З🧟
З🧟
З🧟
З🧟
З🧟
З🧟
В
let left = (value) => ({
swap: () => right(value),
flatMap: () => left(value),
getOrElse: (defaultValue) => defaultValue
});
let right = (value) => ({
swap: () => left(value),
flatMap: (fn) => fn(value),
getOrElse: () => value
});
let select = (rate) => {
let either = right(rate);
let context = {
option: (value, predicate) => {
either = (
either
.flatMap((rate) => (
predicate(rate, value) ? left(value) : right(rate)
))
);
return context;
},
default: (value) => (
either
.swap()
.getOrElse(value)
)
};
return context;
};
let moreThan = (a) => (b) => b >= a;
let gradeCalculator = (grade) => (
select(grade)
.option('A', moreThan(90))
.option('B', moreThan(80))
.option('C', moreThan(70))
.option('D', moreThan(60))
.default('F')
);
А
let left = (value) => ({
swap: () => right(value),
flatMap: () => left(value),
getOrElse: (defaultValue) => defaultValue
});
let right = (value) => ({
swap: () => left(value),
flatMap: (fn) => fn(value),
getOrElse: () => value
});
let select = (rate) => {
let either = right(rate);
let context = {
option: (value, predicate) => {
either = (
either
.flatMap((rate) => (
predicate(rate, value) ? left(value) : right(rate)
))
);
return context;
},
default: (value) => (
either
.swap()
.getOrElse(value)
)
};
return context;
};
let moreThan = (a) => (b) => b >= a;
let gradeCalculator = (grade) => (
select(grade)
.option('A', moreThan(90))
.option('B', moreThan(80))
.option('C', moreThan(70))
.option('D', moreThan(60))
.default('F')
);
p
let left = (value) => ({
swap: () => right(value),
flatMap: () => left(value),
getOrElse: (defaultValue) => defaultValue
});
let right = (value) => ({
swap: () => left(value),
flatMap: (fn) => fn(value),
getOrElse: () => value
});
let select = (rate) => {
let either = right(rate);
let context = {
option: (value, predicate) => {
either = (
either
.flatMap((rate) => (
predicate(rate, value) ? left(value) : right(rate)
))
);
return context;
},
default: (value) => (
either
.swap()
.getOrElse(value)
)
};
return context;
};
let moreThan = (a) => (b) => b >= a;
let gradeCalculator = (grade) => (
select(grade)
.option('A', moreThan(90))
.option('B', moreThan(80))
.option('C', moreThan(70))
.option('D', moreThan(60))
.default('F')
);