题解 | #数组过滤#

数组过滤

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-21 00:37
已编辑
门头沟学院 C++
小浪_Coding:你问别人,本来就是有求于人,别人肯定没有义务免费回答你丫, 有点流量每天私信可能都十几,几十条的,大家都有工作和自己的事情, 付费也是正常的, 就像你请别人搭把手, 总得给人家买瓶水喝吧
点赞 评论 收藏
分享
评论
13
收藏
分享

创作者周榜

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