08_数组排序
本题考点:点击事件、排序、模板字符串
根据题目要求,当点击”销量升序“时,列表内容按照销量升序重新渲染。点击”销量降序“时反之。核心步骤有:
- 创建重渲染函数,每当数组项顺序发生改变时触发该函数。该函数接收一个数组参数,函数内创建一个空字符串用于保存HTML模板,遍历数组项创建HTML模板并且拼接在空字符串之后,最终将字符串中的HTML模板值给ul的innerTHML
- 给”销量升序“和”销量降序“绑定点击事件,分别按照"升序"、"降序"排列数组再调用重渲染函数
参考答案:
const _listRendering = arr => {
var str = ''
arr.forEach(element => {
str += `<li>${element.name}</li>`
})
ul.innerHTML = str
}
upbtn.onclick = function () {
var upArr = cups.sort(function (a, b) {
return a.sales - b.sales
})
_listRendering(upArr)
}
downbtn.onclick = function () {
var downArr = cups.sort(function (a, b) {
return b.sales - a.sales
})
_listRendering(downArr)
}