题解 | #数组排序#
数组排序
https://www.nowcoder.com/practice/18ea36ef9b0c470e9db7681eced6e8df
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> </head> <body> <button class='up' onclick="up()">销量升序</button> <button class='down' onclick="down()">销量降序</button> <ul></ul> <script> 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'); // 补全代码 initUl(cups); function initUl(initArr) { for(let i = 0; i < initArr.length; i++) { let liEl = document.createElement('li'); liEl.innerHTML = initArr[i].name; ul.appendChild(liEl) } } function up() { ul.innerHTML = ''; for(let i = 0; i < cups.length; i++) { for(let j = i+1; j < cups.length; j++) { if (cups[i].sales > cups[j].sales) { let temp = cups[i]; cups[i] = cups[j]; cups[j] = temp; } } }; initUl(cups); } function down() { ul.innerHTML = ''; for(let i = 0; i < cups.length; i++) { for(let j = i+1; j < cups.length; j++) { if (cups[i].sales < cups[j].sales) { let temp = cups[i]; cups[i] = cups[j]; cups[j] = temp; } } }; initUl(cups); } </script> </body> </html>