js数组高阶函数——filter()方法

news2024/12/23 20:49:26

js数组高阶函数——filter方法

  • filter()方法
  • ⭐⭐⭐例1
  • ⭐⭐⭐例2
  • ⭐⭐⭐例3
  • ⭐⭐⭐例4
  • ⭐⭐⭐例5

filter()方法

⭐一般来说,filter() 方法用于过滤数组中的元素,并返回一个新数组。
语法:

array.filter(function(value, index, arr), thisValue)

参数说明:

  • function:函数,规定了过滤条件。必需。该函数接受三个参数:当前元素的值、当前元素的索引和包含该元素的数组。
  • thisValue:可选项。对象作为该执行回调时使用,传递给函数,用作 “this” 的值。如果省略thisValue,则默认是全局对象(浏览器环境下是 window 对象)。

返回值:
返回一个新数组,其中包含符合条件的元素。以下会举5个例子,看懂例子,基本就掌握了。

-------------------------------------------------------------⭐------------------------------------------------------------------

⭐⭐⭐例1

假设我们有一个数字数组,现在想要过滤出其中所有大于等于5的数字:

let numbers = [1, 2, 3, 4, 5, 6, 7, 8];
let result = numbers.filter(function(num) {
    return num >= 5;
});
console.log(result);   // 输出:[5, 6, 7, 8]

上述代码中使用匿名函数定义了过滤条件,并将其作为第一个参数传递给 filter() 方法。最终结果保存在变量 result 中,并输出到控制台中。
-------------------------------------------------------------⭐------------------------------------------------------------------

⭐⭐⭐例2

				let arr = [{
					id: 1,
					name: '神墓'
				}, {
					id: 2,
					name: '完美世界'
				}, {
					id: 1,
					name: '长生界'
				}, {
					id: 7,
					name: '遮天'
				}, {
					id: 1,
					name: '不死不灭'
				}]
				console.log(arr.filter(item => item.id == 1));
				

打印结果:
在这里插入图片描述

上面这个例子,我们将数组中每一项id为1的筛选出来。后端有SQL语句可以查询,前端也可以通过这样的方式来实现查询,筛选。

也有别的写法,数组不变:

			let fe = arr.filter((item)=function (){
				return (item.id ==1 )
			})
			console.log(fe);

这样写,和上面打印的结果一模一样。
-------------------------------------------------------------⭐------------------------------------------------------------------

⭐⭐⭐例3

			const words = ['赏', '花', '赏', '月', '赏', '秋','香'];
			const result = words.filter(word => word != '赏');
			console.log(result);

在这里插入图片描述上面例子中,我们挑出了数组words中不是赏字的所有字

-------------------------------------------------------------⭐------------------------------------------------------------------

⭐⭐⭐例4

const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
const result = words.filter(word => word.length > 6);
console.log(result);

在这里插入图片描述上面的例子中,我们筛选words数组中的每一项元素的长度大于6的元素,因为每一个元素都是个单词,是个字符串,字符串也有长度,所以这样也可以过滤出我们想要的。

-------------------------------------------------------------⭐------------------------------------------------------------------

⭐⭐⭐例5

			function isBigEnoughcount(value) {
				return value >= 10;
			}
			const filtered = [12, 5, 8, 130, 44].filter(isBigEnoughcount);
			console.log(filtered);

在这里插入图片描述
这个例子中,声明一个数组,并过滤,执行的逻辑是一个条件。条件为值大于等于10,也就是说,我们声明了一个数组,并且筛选了数组中每一项大于10的数字。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/653012.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python多线程编程详解

概要 进程(process)指的是正在运行的程序的实例,当我们执行某个程序时,进程就被操作系统创建了。而线程(thread)则包含于进程之中,是操作系统能够进行运算调度的最小单元,多个线程可…

【AntDB数据库】AntDB数据库告警管理

告警历史 功能概述 数据库系统的主机、单节点集群的被监测指标达到告警阀值时,AMOPS就会产生告警并展示在告警分类页面上。 告警分类页面提供告警搜索查看功能,用户可以指定监控项、集群、事件级别、时间范围和告警对象对告警进行搜索。 查询的告警数…

Android12之执行adb disable-verity后android无法启动(一百五十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

AotucCrawler 快速爬取图片

AotucCrawler 快速爬取图片 今天介绍一款自动化爬取图片项目。 GitHub: GitHub - YoongiKim/AutoCrawler: Google, Naver multiprocess image web crawler (Selenium) Google, Naver multiprocess image web crawler (Selenium) 关键字 爬虫网站:Google、Naver &…

【深度学习】2-3 神经网络-输出层设计

前馈神经网络(Feedforward Neural Network),之前介绍的单层感知机、多层感知机等都属于前馈神经网络,它之所以称为前馈(Feedforward),或许与其信息往前流有关:数据从输入开始,流过中间计算过程,最后达到输出…

springboot-内置Tomcat

一、springboot的特性之一 基于springboot的特性 自动装配Configuretion 注解 二、springboot内置Tomcat步骤 直接看SpringApplication方法的代码块 总纲: 1、在SpringApplication.run 初始化了一个上下文ConfigurableApplicationContext configurableApplica…

服务负载均衡Ribbon

服务负载均衡Ribbon Ribbon 介绍Ribbon 案例Ribbon 负载均衡策略Ribbon 负载均衡算法设置自定义负载均衡算法 Ribbon 介绍 Ribbon 是一个的客服端负载均衡工具,它是基于 Netflix Ribbon 实现的。它不像 Spring Cloud 服务注册中心、配置中心、API 网关那样独立部署…

使用Postman创建Mock Server

这篇文章将教会大家如何利用 Postman,通过 Mock 的方式测试我们的 API。 什么是 Mock Mock 是一项特殊的测试技巧,可以在没有依赖项的情况下进行单元测试。通常情况下,Mock 与其他方法的主要区别就是,用于取代代码依赖项的模拟对…

论文笔记 | 谷歌 Soft Prompt Learning ,Prefix-Tuning的 -> soft promt -> p tuning v2

论文笔记 | 谷歌 Soft Prompt Learning ptuning -> Prefix-Tuning -> soft promt -> p tuning v2 "The Power of Scale for Parameter-Efficient Prompt Tuning" EMNLP 2021 Google Brain 人能理解的不一定是模型需要的,所以不如让模型自己训…

多线程之线程安全

写在前面 本文一起看下线程安全相关内容。 1:重要的概念 1.1:竞态条件 多个线程竞争同一资源,如果是对多个线程访问资源的顺序敏感(即导致非预期结果),则该资源就是竞态条件。 1.2:临界区 …

亚毫秒GC暂停到底有多香?JDK17+ZGC初体验|得物技术

1 前言 垃圾回收器的暂停问题一直是Java工程师关注的重点,特别是对实时响应要求较高的服务来说,CMS和G1等主流垃圾回收器的数十毫秒乃至上百毫秒的暂停时间相当致命。此外,调优门槛也相对较高,需要对垃圾回收器的内部机制有一定的…

Nodejs六、数据库操作

零、文章目录 Nodejs六、数据库操作 1、MYSQL数据库 MYSQL相关知识请参考MYSQL基础 2、在项目中操作 MySQL (1)操作数据库的步骤 安装操作 MySQL 数据库的第三方模块(mysql)通过 mysql 模块连接到 MySQL 数据库通过 mysql 模…

chatgpt赋能python:Python编写网站的SEO指南

Python 编写网站的 SEO 指南 Python 是一个高可扩展性和灵活性的编程语言,在创建面向 Web 的应用程序和网站时非常强大。但是,即使你创建了一个出色的网站,也需要将它放在正确的地方以便被人们发现。 搜索引擎优化(SEO&#xff0…

【深度学习】2-2 神经网络 - 前向传播实现3层神经网络

神经网络分层 神经网络的一个重要性质是它可以自动地从数据中学习到合适的权重参数。 用图来表示神经网络的话,把最左边的一列称为输入层,最右边的一列称为输出层,中间的一列称为中间层。中间层有时也叫隐藏层(或隐含层&#xf…

深入了解计算机SNMP协议:原理、功能和应用场景

前言 简单网络管理协议(SNMP)是一种用于管理网络设备的协议,它可以让管理员通过网络对设备进行监控、配置和故障排除等操作。本文将详细介绍SNMP的版本、管理信息库MIB、管理信息结构(SMI)、SNMP报文、5种协议数据单元…

avive零头撸矿

Avive 是一个透明的、自下而上替代自上而下的多元网络,旨在克服当前生态系统的局限性,实现去中心化社会。 aVive:一个基于 SBT 和市场的 deSoc,它使 dapps 能够与分散的位置 oracle 和 SBT 关系进行互操作。您的主权社交网络元宇宙…

Vue中如何进行表单验证码与滑动验证?

Vue中如何进行表单验证码与滑动验证? 在Web应用程序中,表单验证码和滑动验证是常见的安全机制,用于防止恶意攻击和机器人攻击。在Vue中,我们可以使用许多不同的库来实现这些功能。本文将介绍如何使用Vue和vue-verify-code库来实现…

docker中部署lnmp架构

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 docker中部署lnmp架构 前言一、安装docker和docker-compose二、文件部署准备三、创建ngixn虚拟主机配置文件四、创建html文件夹五、启动容器文件结构 前言 Docker是一种轻量…

5.6.1 Ext JS之标签页的关闭和批量关闭

Tab Panel 是包含多个标签页的面板, 这是一种很常用的组件, 类似于浏览器的标签页。关于 Ext JS的Tab Panel的基本使用可以参考: [Ext JS3.9] 标签面板(TabPanel )介绍与开发, 本篇介绍如何关闭单个标签页和批量关闭标签页。 Tab 标签页的可关闭 默认状况下,标签页是无…

23.反射(reflection)|Java学习笔记

文章目录 反射机制Java反射机制原理图Java反射机制可以完成反射相关的主要类反射优点和缺点 Class类 反射机制 一个简单的例子: package com.edu.reflection.question;import java.io.FileInputStream; import java.io.IOException; import java.lang.reflect.Invo…