1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style type="text/css"> pre{ font-size: 20px; } </style> </head> <body> <pre> 描述 请补全JavaScript代码,根据预设代码中的数组,实现以下功能: 1. 列表只展示数组中的name属性 2. 实现点击"销量升序"按钮,列表内容按照销量升序重新渲染 3. 实现点击"销量降序"按钮,列表内容按照销量降序重新渲染 注意: 1. 必须使用DOM0级标准事件(onclick) </pre> <hr> <button class='up'>销量升序</button> <button class='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'); render(cups) function render(cups){ ul.innerHTML= '' cups.forEach(cup=>{ const li = document.createElement('li'); li.innerHTML = i=cup.name; ul.appendChild(li) }) } upbtn.onclick = ()=>{ cups = cups.sort((a,b)=>a.sales - b.sales) render(cups) } downbtn.onclick=()=>{ cups = cups.sort((a,b)=>b.sales - a.sales) render(cups) }
</script> </body> </html>
|