题解 | #数组排序#
数组排序
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
}
}
