题解 | #数组排序#

数组排序

http://www.nowcoder.com/practice/18ea36ef9b0c470e9db7681eced6e8df

var cups = [
      { type: 1, price: 100, color: 'black', sales: 3000, name: '牛客logo马克杯' },
      { type: 2, price: 40, color: 'blue', sales: 1000, name: '无盖星空杯' },
      { type: 4, price: 60, color: 'green', sales: 200, name: '老式茶杯' },
      { type: 3, price: 50, color: 'green', sales: 600, name: '欧式印花杯' }
    ]
    var ul = document.querySelector('ul');
    var upbtn = document.querySelector('.up');
    var downbtn = document.querySelector('.down');
    // 补全代码
    apd()
    upbtn.onclick = function (){
      sortArr(cups,1)
      apd()
    }
    downbtn.onclick = function (){
      sortArr(cups,-1)
      apd()
    }
	// 数组排序
    function sortArr(arr,type){
      if(type === 1){
        arr.sort((a, b)=>a.sales - b.sales)
      }else{
        arr.sort((a, b) => b.sales - a.sales)
      }
    }
	// 添加li
    function apd (){
      if(ul.childNodes.length===cups.length){
        for(let i=0;i< cups.length;i++){
          ul.removeChild(ul.childNodes[0])
        }
      }
      let frame = document.createDocumentFragment()
      for (let i = 0; i < cups.length; i++) {
        let li = document.createElement('li')
        li.innerHTML = cups[i].name
        frame.appendChild(li)
      }
      ul.appendChild(frame)
    }
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务