js - 星级展示

星级展示 函数, 支持半星

    function showScore(score, icon) {
        if (isNaN(score)) return ''
        let maxNum, on, off, half, scoreInt, num, remainder

        maxNum = 5
        scoreInt = score|0
        scoreInt = score|0
        remainder = (score*100 - scoreInt*100) / 100        
        remainder >= .8 ? num = scoreInt+1 : remainder <= .2 ? num = scoreInt : (num = scoreInt, half = 1)
        on = new Array(num+1).join(icon[0])
        off = new Array(maxNum - num+1 - (half?1:0)).join(icon[1])
        return on + (half ? icon[2] : '') + off
    }
console.log('%c' +showScore(1.4, ['<星星>', '<无星>', '<半星>']), 
'color: #fff; background: #000; font-size: 30px; line-height: 4em; padding: 1em; letter-spacing: .5em;')
效果
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容