JavaScript数组filter方法

JavaScript数组filter方法1.数组filter方法作用筛选数组,将满足条件的元素放入新数组中2.语法:array.filter(function(item,index,arr){})第一个参数:item,必须,当前元素的值第二个参数:index,可选,当前元素在数组中的索引值第三个参数:arr,当前元素所处的数组对象3.filter方法特点(1)函数执行次数===数组长度(2)函数内部的returnreturntrue:满足筛选条件,放入新数组中return

大家好,又见面了,我是你们的朋友全栈君。

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)
        }
    }
)

:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159291.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DatagramSocket例子「建议收藏」

    DatagramSocket例子「建议收藏」在javaSE中,使用DatagramSocket进行的网络通信是基于UDP的。DatagramSocket类:表示发送和接收数据报包的套接字。数据报套接字是包投递服务的发送或接收点。从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达。构造方法:(多个只说一个)DatagramSocket(intport)创建数据报套接字并将其绑定到本…

    2022年6月8日
    32
  • xshell使用教程命令大全(xshell6安装教程)

    下载安装xshell1.新建 打开Xshell5软件,点击左上角的新建 在主机处输入Linux服务器的IP地址,协议选择为ssh,端口号为22 点击确定按钮,再点击连接,此时会弹出一个交互窗口,输入服务器的一个账户和密码 2.双击刚刚新建的会话依次输入账号和密码:…

    2022年4月14日
    51
  • kali命令大全

    kali命令大全arch显示机器的处理器架构(1)uname-m显示机器的处理器架构(2)uname-r显示正在使用的内核版本dmidecode-q显示硬件系统部件-(SMBIOS/DMI)hdparm-i/dev/hda罗列一个磁盘的架构特性hdparm-tT/dev/sda在磁盘上执行测试性读取操作cat/proc/cpuinfo显示CPUinfo的信息c…

    2022年6月9日
    68
  • PAT乙级考试经验分享

    PAT乙级考试经验分享主要介绍了PAT乙级考试从报名到准备到考试中的小技巧等相关经验

    2022年5月5日
    57
  • 全局莫兰指数_空间自相关 | 莫兰指数

    全局莫兰指数_空间自相关 | 莫兰指数空间自相关:是指一些变量在同一个分布区内的观测数据之间潜在的相互依赖性。其中,自相关中的“自”表示当你进行相关性观察统计量,是来源于不同对象的同一属性。Tobler(1970)曾指出“地理学第一定律:任何东西与别的东西之间都是相关的,但近处的东西比远处的东西相关性更强”。空间自相关统计量是用于度量地理数据(geographicdata)的一个基本性质:某位置上的数据与其他位置上的数据间…

    2022年6月25日
    61
  • FusionChartsFree的简单用法[通俗易懂]

    FusionChartsFree的简单用法[通俗易懂]  今天发现个不错的显示图表的东西—-FusionChartsFree,有免费版的,有收费版的,免费版的我用着就不错。收费的可能更好一点儿。  看了看官方提供的例子,我是在JSP中使用,想到一个简单的用法,贴在下面:[code="html"]结果显示 FusionCharts. varchart…

    2022年7月13日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号