题解 | #数组排序#
数组排序
https://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'); upbtn.onclick=function(){ cups.sort(upMethod); appendMethod(); } downbtn.onclick=function(){ cups.sort(downMethod); appendMethod(); } function appendMethod(){ //注意每次增加节点前需要将原来的内容清空 ul.innerHTML=''; for(let val of cups){ let li=document.createElement('li'); let text=document.createTextNode(val.name); li.appendChild(text); ul.appendChild(li); } function upMethod(a,b){ if(a.sales>b.sales){ return 1 }else{ return -1 } } function downMethod(a,b){ if(a.sales>b.sales){ return -1 }else{ return 1 } }