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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 鼠标悬停下划线显示特效,html鼠标悬停显示下划线

    鼠标悬停下划线显示特效,html鼠标悬停显示下划线html:(index.html)<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><title>鼠标悬停下划线</title><linkrel=”stylesheet”href=”css/style.css”>&l…

    2022年5月16日
    51
  • compound extreme_particular conditions

    compound extreme_particular conditions在看SpringSide代码过程中,发现SS使用了extremecomponents于是,今天看了看extremecomponents的使用,发觉extremecomponents真是个好用西。可以直接接受response的数据。按照test例子自己做的:效果不错哟eXtremeTable是一个可扩展的用于以表格的形式来显示数据的一组JSP标签库.网站:http://www.extreme…

    2022年8月20日
    8
  • Oracle PL/SQL编程之四: 把游标说透「建议收藏」

    Oracle PL/SQL编程之四: 把游标说透「建议收藏」Oracle PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)本篇主要内容如下:4.1 游标概念4.1.1 处理显式游标4.1.2 处理隐式游标4.1.3 关于 NO_DATA_FOUND 和 %NOTFOUND的区别4.1.4  使用游标更新和删除数据4.2 游标变量4.2.1  声明游标变

    2022年6月17日
    26
  • Activate JRebel激活码(JetBrains全家桶)2022.02.11

    (Activate JRebel激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~4…

    2022年4月1日
    2.4K
  • SqlTransaction 类[通俗易懂]

    SqlTransaction 类[通俗易懂](事务详解)SqlTransaction类表示要在SQLServer数据库中处理的Transact-SQL事务。应用程序通过在SqlConnection对象上调用BeginTransaction来创建SqlTransaction对象。对SqlTransaction对象执行与该事务关联的所有后续操作(例如提交或中止该事务)。注意在提交或回滚SqlTran

    2022年6月10日
    31
  • Matlab读取txt文件中的数据(使用textread函数)[通俗易懂]

    Matlab读取txt文件中的数据(使用textread函数)[通俗易懂]在使用Matlab处理数据时,我们经常需要读取txt文档,可以使用Matlab中强大的textread函数。它的基本语法是:[A,B,C,…]=textread(filename,format)[A,B,C,…]=textread(filename,format,N)其中filename就是文件名,format就是要读取的格式,A,B,C就是从文件中读取到的数据。中括号里面变量的…

    2025年9月22日
    6

发表回复

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

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