思路

本题的排序功能可以通过数组的sort方法实现,感觉这道题应该是简单题,难度远没有达到中等难度: 需要注意每次升序、降序操作前要将原来的ul标签的子元素全部清空。


function getList() {
              // 清空原有的子元素
              while(ul.hasChildNodes()) {
                ul.removeChild(ul.firstChild)
              }
              // 创建一个文档片段
              const frag = document.createDocumentFragment()
              for(let item of cups) {
                const liElm = document.createElement('li')
                liElm.innerText = `${item.name}`
                frag.appendChild(liElm)
              }
              // 统一插入
              ul.appendChild(frag)
            }

            // 添加点击事件
            upbtn.onclick = ()=> {
              cups.sort((a,b)=>{
                return a.sales-b.sales
              })
              this.getList()
            }

            downbtn.onclick = ()=>{
              cups.sort((a,b)=>{
                return b.sales-a.sales
              })
              this.getList()
            }