题解 | #数组过滤#

数组过滤

http://www.nowcoder.com/practice/46d607f9bf64458daa8798339a7336d0

21_数组过滤

本题考点:onchange事件、过滤

根据题目要求,实现一个价格过滤选择框,当选择价格范围的时候,ul列表中的内容会根据选择的价格重新渲染,核心步骤有:

  1. 创建重渲染函数,每"select"节点的onchange事件触发时,会调用该函数重新渲染ul列表中的内容
  2. 给"select"节点添加onchange事件,每当事件触发,对"select"节点当前值进行判断,对"cups"数组进行重新排序并且调用重渲染函数

参考答案

select.onchange = function(){
    ul.innerHTML = ''
    switch(parseInt(this.value)){
        case 1 :
            var newArr = cups.filter((item)=>{return item.sales < 100})
            break
        case 2:
            var newArr = cups.filter((item)=>{return item.sales <= 500 && item.sales >= 100})
            break
        case 3:
            var newArr = cups.filter((item)=>{return item.sales > 500})
            break
    }
    listRendering(newArr)
}

function listRendering(arr) {
    var str = ''
    arr.forEach(element => {
        str += `<li>${element.name}</li>`
    })

    ul.innerHTML = str
}

全部评论

相关推荐

10-20 11:11
辽宁大学 营销
点赞 评论 收藏
分享
活泼的代码渣渣在泡池...:哈哈哈挺好的,我也上岸美团了,不说了,我又接了一单
点赞 评论 收藏
分享
评论
13
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务