JS【filter过滤器】的用法

2023-09-22 15:21:28

在JavaScript中,filter()是一个高阶函数,它是数组(Array)的一部分,可用于创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。

filter()函数的语法如下:

let newArray = arr.filter(callback(element[, index, [array]])[, thisArg])

参数解释:

  • callback:一个函数,用来测试每个元素是否满足某种条件。它接受以下参数:
    • element:数组中正在处理的当前元素。
    • index(可选):数组中正在处理的当前元素的索引。
    • array(可选):filter被调用的数组。
  • thisArg(可选):执行 callback 函数时使用的 this 值。

filter()函数会为数组中的每个元素执行一次 callback 函数,并且创建一个新数组,所有使 callback 返回 true 的元素都会被添加到这个新数组中。原始数组不会被改变。

以下是一个简单的例子,过滤出一个数组中所有的偶数:

let numbers = [1, 2, 3, 4, 5, 6];
let evens = numbers.filter(function(item) {
    return item % 2 === 0;
});
console.log(evens);  // [2, 4, 6]
//或者
const evens = numbers .filter(e=> e%2 === 0) 


在这个例子中,我们将数组 numbers 中的每个元素传递给 filter() 方法。filter() 方法执行的函数检查每个数是否为偶数。如果是,它返回 true,这个数就被添加到 evens 数组中。如果返回 false,则不会被添加。最终,我们将得到一个包含原始数组中所有偶数的新数组。

更多推荐

vue模板语法(上集)

为什么要用Vue模板语法Vue模板语法是Vue.js框架的一部分,使用它有以下几个优点:简化了HTML代码编写:Vue模板语法支持简化HTML标签和属性的写法,使得代码更加简洁易读,提高开发效率。数据绑定:Vue模板语法支持数据双向绑定,可以将数据自动更新到对应的DOM元素,从而避免了手动操作DOM的麻烦。条件渲染:V

为Electron-log 设置日志颜色

使用Electron-log为你的Electron应用添加日志颜色在Electron应用中,有效的日志记录是一项不可或缺的任务,它可以帮助你跟踪应用程序的运行状况、调试问题以及监视用户体验。为了提高日志的可读性,你可以使用Electron-log以及Node.js中的Chalk模块来为不同的日志级别添加颜色和样式。安装

浅谈建筑能耗智能监测平台发展现状及未来趋势

安科瑞华楠摘要:文章以每年发布的上海市国家机关办公建筑和大型公共建筑能耗监测及分析报告变化为切入点,分析了历年能耗分析报告的内容和功能变化;介绍了上海市国家机关办公建筑和大型公共建筑能耗监测平台发展和应用历程;揭示了当下显现的问题,并以问题为导向,预测了未来发展的趋势。关键词:国家机关办公建筑和大型公共建筑;能耗监测;

洁净室/净化车间:洁净等级划分及标准、检测方法及流程解读

无尘车间的发展与现代工业、尖端技术紧密的联系在一起。目前在生物制药、医疗卫生、食品日化、电子光学、能源、精密器械等行业运用已经相当的普遍且成熟。空气洁净度等级(aircleanlinessclass):洁净空间单位体积空气中,以大于或等于被考虑粒径的粒子最大浓度限值进行划分的等级标准。国内按空态、静态、动态对无尘车间进

MySQL详细案例 1:MySQL主从复制与读写分离

文章目录1.MySQL主从复制1.1使用场景1.2MySQL的复制类型1.3主从复制的作用1.4主从复制的工作过程1.5实现MySQL主从复制1.5.1前置准备1.5.2主服务器mysql配置1.5.3从服务器1mysql配置1.5.4从服务器2mysql配置1.5.5测试1.6主从复制的3种同步模式1.6.1异步复制

实时数仓混沌演练实践

一、背景介绍目前实时数仓提供的投放实时指标优先级别越来越重要,不再是单独的报表展示等功能,特别是提供给下游规则引擎的相关数据,直接对投放运营的广告投放产生直接影响,数据延迟或者异常均可能产生直接或者间接的资产损失。从投放管理平台的链路全景图来看,实时数仓是不可或缺的一环,可以快速处理海量数据,并迅速分析出有效信息,同时

Java JVM分析利器JProfiler 结合IDEA使用详细教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、JProfiler是什么?二、我的环境三、安装步骤1.Idea安装JProfiler插件1.下载程序的安装包四、启动前言对于我们Java程序员而言,肯定需要对项目工程进行JVM监控分析,最终选择jprofiler,它可以远程链接,使用方便,

opencv图像像素类型转换与归一化

文章目录opencv图像像素类型转换与归一化1、为什么对图像像素类型转换与归一化2、在OpenCV中,`convertTo()`和`normalize()`是两个常用的图像处理函数,用于图像像素类型转换和归一化;(1)`convertTo()`函数用于将一个`cv::Mat`对象的像素类型转换为另一种类型。它的基本用法

第8章 MySQL的数据目录

8.1数据库和文件系统的关系像InnoDB、MyISAM这样的存储引擎都是把表存储在磁盘上的,而操作系统用来管理磁盘的又被称为文件系统,所以用专业一点的话来表述就是:像InnoDB、MyISAM这样的存储引擎都是把表存储在文件系统上的。当我们想读取数据的时候,这些存储引擎会从文件系统中把数据读出来返回给我们,当我们想写

公私钥非对称加密 生成和验证JSON Web Token (JWT)

前言这是我在这个网站整理的笔记,关注我,接下来还会持续更新。作者:神的孩子都在歌唱公私钥非对称加密生成和验证JSONWebToken什么是JSONWebToken(JWT)Java程序中生成和验证JWT代码解析什么是JSONWebToken(JWT)JSONWebToken(JWT)是一种轻量级的身份验证和授权机制,由

【Linux 之二】Ubuntu下开发环境的搭建(NFS \ SSH \ FTP \ Smba \ ...)

目前正在进行Linux相关项目的开发,而我的Linux开发是在Ubuntu(版本20.04)下进行的,为此需要搭建很多Linux相关的开发环境,方便工作的进行。这里主要是对各种开发环境的搭建做一个总结记录,方便后面查阅,也方便在Linux开发之路上遇到困难的各位同仁。好了,废话不多说,直接罗列各种开发环境的安装步骤等。

热文推荐