// 编码题:实现一个评星方法
// 例如
// 1. 可根据传入的评分和总数,返回评星结果(用 ★ 和 ☆ 描述)
// 2. 评分必选项,四舍五入,总数可选,大于0的整数,默认为5
// 3. 对于评分为空或小于0、评分大于总数、总数小于0或总数非整数的情况,返回'error'
// 示例:
function getRate(num1, num2 = 5) {
// arr1 ★
// arr2 ☆
if (
typeof num1 !== 'number' ||
typeof num2 !== 'number' ||
num1 > num2 ||
num1 < 0 ||
num2 < 0 ||
(num2 + '').includes('.')
) {
return 'error';
}
return '★'.repeat(num1) + '☆'.repeat(num2 - Math.round(num1));
}
console.log(getRate(4)); // ★★★★☆
console.log(getRate(4, 8)); // ★★★★☆☆☆☆
console.log(getRate(3.4)); // ★★★☆☆
console.log(getRate(5, 2)); // 'error'
console.log(getRate(-2)); // 'error'
console.log(getRate(3, 5.5)); // 'error'
console.log(getRate(-Infinity)); // 'error'
console.log(getRate(-Infinity, Infinity)); // 'error'