题解 | #数组过滤#

数组过滤

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
}

全部评论

相关推荐

11-28 16:00
已编辑
武汉理工大学 Java
Tom哥981:这份简历是“短期项目硬堆中大型系统技术”的“技术炫技式造假模板”,槽点密集到能当反面教材: ### 1. 「项目时长」和「技术密度」严重脱节,造假痕迹焊死在简历上 两个项目时长分别是**3个月、2个月**,但堆了Spring AI、Elasticsearch、MinIO、Kafka、ShardingSphere、Docker、Sentinel等近20个中大型项目才用的技术——正常情况下,光把这些中间件的文档看完+环境搭好,3个月都不够,更别说实现“AI多轮对话、分库分表、RBAC权限、大模型调用”这些功能。 说白了:你这不是“做项目”,是把“后端技术栈清单”往项目里硬塞,明摆着“只调用了API,没碰过核心逻辑”。
点赞 评论 收藏
分享
评论
13
收藏
分享

创作者周榜

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