JavaScript数组filter方法

1.数组filter方法作用

筛选数组,将满足条件的元素放入新数组中

2.语法 : array.filter( function ( item, index,arr) {} )

第一个参数: item,必须,当前元素的值

第二个参数 : index,可选,当前元素在数组中的索引值

第三个参数 : arr,当前元素所处的数组对象

3.filter方法特点

(1)函数执行次数 === 数组长度

(2)函数内部的return

return true : 满足筛选条件,放入新数组中

return false : 不满足条件,不放入新数组中

(3)filter方法的返回值

返回筛选之后的新数组,如果没有符合条件的元素则返回空数组

4.注意点:

(1)filter()方法不会对空数组进行检测

(2)filter()方法不会改变原始数组

5.应用场景 : 筛选数组

示例 :价格筛选

//封装函数渲染页面
const renderData = (arr) => {
    document.querySelector('.list').innerHTML = arr.map( item => 
            `<div class="item">
            <img src="${item.picture}" alt="">
            <p class="name">${item.name}</p>
            <p class="price">${item.price}</p>
            </div>`
    ).join('')
}
renderData(goodsList)
//点击事件
const aList = document.querySelectorAll('.filter a')
//遍历数组
aList.forEach( ( item,index ) => 
    item.onclick = function () {//注册点击事件
        //类名排他
        document.querySelector('.active').classList.remove('active')
        item.classList.add('active')
        //判断筛选
        if (index === 0) {//0-100
            renderData(goodsList.filter(item => item.price < 100))
        }else if (index === 1) {//100-300
            renderData(goodsList.filter(item => item.price >= 100 && item.price < 300))
        }else if (index === 2) {//100-300
            renderData(goodsList.filter(item => item.price > 300 ))
        }else {
            renderData(goodsList)
        }
    }
)

:

  • 10
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在Trello板上过滤列表 用很多列表解决水平滚动的问题。如果您觉得这很有用,请考虑捐款。我是一名自由开发人员,在业余时间花时间在此上。任何捐款都会帮助我找到更多时间来处理trello列表过滤器 https://buymeacoff.ee/evilbuck•您是否有很多trello列表,但一次只需要处理其中几个?在屏幕上拖动卡片并滚动滚动是否繁琐? •还是要隐藏不使用的列表的干扰?为此,创建了Trello列表过滤器。您只需在要查看的列表标题中键入名称的一部分,列表就会在您键入时进行过滤。它甚至支持高级用户使用完整的正则表达式。您无需成为高级用户即可利用正则表达式。需要记住的一些常见用例:•多个匹配项可以用竖线字符“ |”分隔 “配方”将与“配方”或“配方”匹配。请勿将列表与“!”后面的字符匹配在括号内-“ ^((?! cook)。)* $”将匹配不包含“ cook”的所有内容•以“ ^”开头 :以“ ^”开头的过滤器只能匹配以carret后的字符开头的列表标题-“ ^ engineering:”将匹配所有以“ engineering:”开头的列表。用于为分类法添加前缀列表。功能•使用正则表达式按名称过滤列表•保存最后七个搜索以更快地完成自动完成Changelog 1.2.1•更新以说明trello的DOM更改1.1.0•谷歌分析跟踪何时应用过滤器以帮助通知未来的发展 (仅当不发送有关过滤内容的内容时)1.0.1•针对Trello html结构的更改进行了调整•更有效的方法来检查Trello标头“就绪”以进行html注入1.0.0•最后5个下拉列表选择0.1.1时出现使用的过滤器•修复了以下问题:由于页面加载,该过滤器无法使用已更改标题的列表•更改了过滤器查询输入字体颜色以匹配trello列表字体颜色0.1.0•添加了前七个搜索的自动完成功能•重点突出显示搜索表达式以轻松更改表达式•一些更新使5岁的js代码现代化。请求功能或提出拉取请求https://github.com/evilbuck/trello-list-filter 支持语言:English

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值