<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <select name="" id="">
            <option value="0">请选择销量范围</option>
            <option value="1">&lt100</option>
            <option value="2">100~500</option>
            <option value="3">&gt500</option>
        </select>
        <ul>
            <li>牛客logo马克杯</li>
            <li>无盖星空杯</li>
            <li>老式茶杯</li>
            <li>欧式印花杯</li>
        </ul>

        <script>
            var cups = [
                { type: 1, price: 100, color: 'black', sales: 60, name: '牛客logo马克杯' },
                { type: 2, price: 40, color: 'blue', sales: 100, name: '无盖星空杯' },
                { type: 4, price: 60, color: 'green', sales: 200, name: '老式茶杯' },
                { type: 3, price: 50, color: 'green', sales: 600, name: '欧式印花杯' }
            ]
            var select = document.querySelector('select');
            var ul = document.querySelector('ul');
            // 补全代码
            /*
                1.使用onchange绑定select事件
                2.然后每次点击后清空ul,并执行case switch
                3.三个条件每个条件都执行特定的filter回调函数
                4.过滤完后赋值给一个newArr
                5.然后重新渲染newArr就行了
            */ 
            // 渲染列表
            function render(obj){
                obj.forEach(item =>{
                    var li = document.createElement("li")
                    li.innerHTML = `${item.name}`
                    ul.appendChild(li)
                })
            }

            select.onchange = function(){
                // 清空ul 可以直接用赋空值的方法
                ul.innerHTML = ""
                switch(this.value){
                  case "0":
                    var newArr = cups
                    break
                  case "1":
                    var newArr = cups.filter(item => item.sales < 100)
                    break
                  case "2":
                    var newArr = cups.filter(item => 100 <= item.sales && item.sales <= 500)
                    break
                  case "3":
                    var newArr = cups.filter(item => item.sales > 500)
                    break
              }
              render(newArr)
            }
        </script>
    </body>
</html>