JS数组的一些方法
前言
忘了在哪里听说JS是用来处理各种各样的数据的,所以掌握一些数组的处理方法极其重要
而最近学校要进行测试,本着复习回顾的想法,决定将一些我所知道的数组处理方法整理整理
不过难免有遗漏与错误,还望各位大佬指正
forEach()遍历方法
forEach() 方法用于遍历调用数组的每个元素
传入一个回调函数,并将元素传递给回调函数
回调函数传入两个参数:
- item为数组元素,而且必须传递
- index为数组索引,可以不写
const arr=[1,2,3]arr.forEach((item,index)=>{console.log(item,index);})
map()遍历方法
map方法用于遍历调用数组的每个元素
其用法基本同forEach 遍历方法
不同之处在于,map ()遍历方法需要返回return,将返回值赋给一个新数组
arr = [1, 2, 3, 4]let Arr = arr.map((item) => {return item * 10})console.log(arr, Arr);
join()拼接方法
join()
方法用于将一个数组的所有元素拼接成一个字符串并返回这个字符串
如果不传入分隔符,则默认用逗号进行拼接。
传入分隔符,则用指定的分隔符字符串分隔。
如果数组只有一个元素,那么将返回该元素而不使用分隔符。
const arr = [1, 2, 3]const String01 = arr.join()const String02 = arr.join(' ')const String03 = arr.join('+')console.log(String01);console.log(String02);console.log(String03);
reduce()数值累计方法
reduce()方法可以用于累加之类的操作
也会对数组进行遍历,并返回新数组
需要传入一个回调函数和一个初始值
reduce(回调函数,初始值)
关于回调函数
在对数组进行遍历时,每遍历一个元素就会调用一次回调函数
回调函数传入两个参数:
- 回调函数第一次调用时,prev为默认值。其他情况为上一次的返回值
- item为当前遍历的元素
注意:回调函数一定要有返回值,不然输出为undefined
const arr = [1, 2, 3, 4]const x = 0const num = arr.reduce((prev, item) => {return prev + item}, x)console.log(arr);console.log(num);
关于初始值
初始值可写可不写,如果不写,初始值默认为数组第一个元素
filter()过滤方法
filter()方法会遍历数组,过滤出符合条件的数组元素,返回给一个新数组
传入一个回调函数,回调函数传参item为当前遍历的元素
注意写返回值
const arr = [1, 2, 3, 4, 5, 6]const Arr = arr.filter((item) => {return item > 3})console.log(Arr);
every()与some()方法
every()方法
every()方法测试一个数组内的所有元素是否都满足一定条件。
它返回一个布尔值。
传入一个回调函数,回调函数传参item为当前遍历的元素,注意写返回值
arr = [1, 2, 3, 4]const Boole = arr.every((item) => {return item <= 4})console.log(Boole);
some()方法
some()方法与every()方法相反
用于测试一个数组内的元素是否有至少一个元素满足条件
用法同every()方法
arr = [1, 2, 3, 4]const Boole0 = arr.some((item) => {return item >= 4})console.log(Boole0);
concat()合并方法
concat()方法用于合并两个或多个数组。
此方法不会更改现有数组,而是返回一个新数组。
const arr01 = [1, 2]const arr02 = [3, 4]const arr03 = [5, 6]const ARR01 = arr01.concat(arr02)const ARR02 = arr01.concat(arr02, arr03)console.log(ARR01);console.log(ARR02);
splice()替换方法
splice()方法用于移除或者替换已存在的元素或添加新的元素
可以传三个及以上个参数
splice(start, deleteCount, item1)
- start 为索引值
- deleteCount表示删除的元素数量(可以不写)
- item1 表示要添加的元素(可以写多个,也可以不写)
整句表达的意思为:在索引start处,删除deleteCount个数量的元素,并插入item1元素
let Arr = [1, 2, 3, 4]Arr.splice(1, 2, 'test')console.log(Arr);
如上代码,意为: 在索引1处,删除2个元素,并插入test元素
其他方法
arr.length | 获取数组长度 |
arr.push()/arr.pop() | 添加/删除最后一个元素。push传参,传入的参数为最后一个元素 |
arr.shift()/arr.unshift() | 删除/添加第一个元素。unshift传参,传入的参数作为第一个元素 |
arr.reverse() | 翻转数组 |
arr.indexOf() | 返回数组中元素位置(第一个匹配元素), 从前往后找,-1为没找到(传参) |
arr.lastIndexOf() | 返回数组中元素位置(第一个匹配元素), 从后往前找,-1为没找到(传参) |
arr.sort() | 排序,根据ASCII码顺序 |
相关文章:
JS数组的一些方法
前言 忘了在哪里听说JS是用来处理各种各样的数据的,所以掌握一些数组的处理方法极其重要 而最近学校要进行测试,本着复习回顾的想法,决定将一些我所知道的数组处理方法整理整理 不过难免有遗漏与错误,还望各位大佬指正 forEac…...
学习threejs,使用CubeCamera相机创建反光效果
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️CubeCamera 立方体相机 二、…...
#渗透测试#红蓝攻防#HW#漏洞挖掘#漏洞复现01-笑脸漏洞(vsftpd)
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…...
使用nginx请求转发时前端报跨域问题解决
当其他接口都没有问题,后端也进行了跨域的配置时,此时问题应该就出现在nginx中 我发现当上传文件大小小于1m时并不会发生错误,所以我们应该配置一下nginx允许上传文件的大小 在nginx.conf中添加 在nginx目录下重启nginx即可 (Wi…...
贪心算法入门(二)
第1题 越野跑 查看测评数据信息 为了能在下一次跑步比赛中有好的发挥,桐桐在一条山路上开始了她的训练 。桐桐希望能在每次训练中跑得尽可能远,不过她也知道农场中的一条规定:独自进山的时间不得超过M秒(1 < M < 10,000,000)。 整条…...
欧拉函数——acwing
题目一:欧拉函数 873. 欧拉函数 - AcWing题库 分析(欧拉函数相关知识点) 互质数不了解可以参考之前笔记,以便更好了解: 数论—快速幂,欧几里得及其扩展,逆元,单位元_数论单位元函…...
Spring集成Mybatis的实现
实现步骤大纲 第一步:准备数据库表 使用t_act表(账户表) 第二步:IDEA中创建一个模块,并引入依赖 spring-contextspring-jdbcmysql驱动mybatismybatis-spring:mybatis提供的与spring框架集成的依赖德鲁伊连…...
Redis中的分布式锁(步步为营)
分布式锁 概述 分布式锁指的是,所有服务中的所有线程都去获取同一把锁,但只有一个线程可以成功的获得锁,其他没有获得锁的线程必须全部等待,直到持有锁的线程释放锁。 分布式锁是可以跨越多个实例,多个进程的锁 分布…...
Linux下的三种 IO 复用
目录 一、Select 1、函数 API 2、使用限制 3、使用 Demo 二、Poll 三、epoll 0、 实现原理 1、函数 API 2、简单代码模板 3、LT/ET 使用过程 (1)LT 水平触发 (2)ET边沿触发 4、使用 Demo 四、参考链接 一、Select 在…...
微服务即时通讯系统的实现(服务端)----(2)
目录 1. 语音识别子服务的实现1.1 功能设计1.2 模块划分1.3 模块功能示意图1.4 接口的实现 2. 文件存储子服务的实现2.1 功能设计2.2 模块划分2.3 模块功能示意图2.4 接口的实现 3. 用户管理子服务的实现3.1 功能设计3.2 模块划分3.3 功能模块示意图3.4 数据管理3.4.1 关系数据…...
数据库原理-期末复习基础知识第二弹
1、数据的逻辑独立性是指 外模式/模式映像 当模式改变的时候,由数据库管理员对各个外模式/模式的映像做出相应改变,使外模式保持不变。由于应用程序是按照外模式进行编写的,故应用程序不必修改,保证了数据与程序的逻辑独立性。 …...
智能云在线编辑网站(完结篇)
开始及初步计划 1.前端tiptip编辑器框架vue3 2.后端Pythonflaskmysql 3.大模型调用:飞桨系列(ppasr) 前言:以此篇谨记从软件杯到天津生成式ai答辩过程及结束。 『如蚍蜉见青天,双肩难挑日月』,感叹世事多…...
多源传感器构建机器人的Gazebo模型
构建包含GNSS、IMU、LiDAR、Camera传感器的Gazebo模型涉及多个步骤,包括设置工作环境、创建URDF文件、安装必要的Gazebo插件和依赖项。以下是一个详细的步骤指南,帮助你开始构建这个Gazebo模型。 1. 设置工作环境 首先,确保你已经安装了ROS…...
linux中top 命令返回数据解释
当您在 Linux 终端中运行 top 命令时,它会显示一个动态更新的系统状态视图,其中包括许多有关系统性能的数据。下面是对 top 命令返回数据的详细解释: 标题栏 top - 22:46:12 up 2 days, 3:14, 1 user, load average: 0.05, 0.07, 0.09 22:46:12:当前时间。up 2 days, 3:14…...
【Vue3】【Naive UI】<NDropdown>标签
【Vue3】【Naive UI】 标签 基本设置自定义渲染交互事件其他属性 【VUE3】【Naive UI】<NCard> 标签 【VUE3】【Naive UI】<n-button> 标签 【VUE3】【Naive UI】<a> 标签 【VUE3】【Naive UI】<…...
ADS学习笔记 7. 超外差接收机设计
基于ADS2023 update2 更多ADS学习笔记:ADS学习笔记 1. 功率放大器设计ADS学习笔记 2. 低噪声放大器设计ADS学习笔记 3. 功分器设计ADS学习笔记 4. 微带分支定向耦合器设计ADS学习笔记 5. 微带天线设计ADS学习笔记 6. 射频发射机设计 目录 -1、射频接收机性能指标…...
新型大语言模型的预训练与后训练范式,阿里Qwen
前言:大型语言模型(LLMs)的发展历程可以说是非常长,从早期的GPT模型一路走到了今天这些复杂的、公开权重的大型语言模型。最初,LLM的训练过程只关注预训练,但后来逐步扩展到了包括预训练和后训练在内的完整…...
k8s 1.28 二进制安装与部署
第一步 :配置Linux服务器 #借助梯子工具 192.168.196.100 1C8G kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubectl、haproxy、keepalived 192.168.196.101 1C8G kube-apiserver、kube-controller-manager、kube-scheduler、etcd、kubectl、…...
Ubuntu 常用解压与压缩命令
.zip文件 unzip FileName.zip # 解压 zip DirName.zip DirName # 将DirName本身压缩 zip -r DirName.zip DirName # 压缩,递归处理,将指定目录下的所有文件和子目录一起压缩 zip DirName.zip DirName 行为: 只压缩 DirName 目录本身ÿ…...
使用ECharts创建带百分比标注的环形图
在数据可视化领域,环形图是一种非常有效的图表类型,它能够清晰地展示各部分与整体的关系。今天,我们将通过ECharts来创建一个带百分比标注的环形图,并详细解释如何实现这一效果。 1. 数据准备 首先,我们定义了一些基础…...
lvs虚拟服务器之LVS-NAT模式
一.集群 二.LVS:虚拟服务器:工作在传输层,解决高并发 三.LVS-NAT一.集群1.概念:集群就是一组计算机集群核心:任务调度集群目的提高性能,降低成本,提高可扩展性,增强可靠性集群分类HA:高可用集群(High Availability Cluster):避免单…...
虚拟机添加硬盘驱动,Windows 系统添加 VirtIO 驱动(Windows ISO 安装镜像添加驱动)
为什么要在 ISO 镜像里添加驱动?而不是在进系统以后装驱动?一切都是形势所迫。如果你也是爱折腾的人,那么这也会成为一个有用的方案之一。 最近,因为在给公司研究部署 OpenStack,在制作初始镜像(也就是…...
20241128解决Ubuntu20.04安装libesd0-dev异常的问题
20241128解决Ubuntu20.04安装libesd0-dev异常的问题 2024/11/28 16:36 缘起:中科创达的高通CM6125开发板的Android10的编译环境需要。 安装异常:rootrootrootroot-X99-Turbo:~$ rootrootrootroot-X99-Turbo:~$ sudo apt-get install libesd0-dev Readi…...
Linux命令进阶·如何切换root以及回退、sudo命令、用户/用户组管理,以及解决创建用户不显示问题和Ubuntu不显示用户名只显示“$“符号问题
目录 1. root用户(超级管理员) 1.1 用于账户切换的系统命令——su 1.2 退回上一个用户命令——exit 1.3 普通命令临时授权root身份执行——sudo 1.3.1 为普通用户配置sudo认证 2. 用户/用户组管理 2.1 用户组管理 2.2 用户管理 2.2.1 …...
基于链表的基础笔试/面试题
1. 反转链表 问题描述:反转一个单向链表。 示例: 输入:1 → 2 → 3 → 4 → 5 输出:5 → 4 → 3 → 2 → 1 class ListNode {int val;ListNode next;ListNode(int x) {val x;} }public class LinkedList {public ListNode …...
文件比较和文件流
文件比较和文件流 一、文本比较工具 diff1.基本用法1.1输出格式 2.常用选项 二、文件流1.文件的打开模式2.文件流的分类ifstreamofstreamfstrem区别 3.文件流的函数1. 构造函数2. is_open 用于判断文件是否打开3. open4. getline5. close6. get()7. read8. write9. put10. gcou…...
unity如何让一个物体拥有按钮功能
在 Unity 中,要让一个物体(例如一个 3D 模型、UI 元素或其他对象)变成一个按钮,你需要为它添加交互功能。这通常意味着让物体能够响应点击事件,像 UI 按钮那样触发某些行为。对于 3D 物体,可以通过 射线检测…...
【RISC-V CPU Debug 专栏 1 -- RISC-V debug 规范】
文章目录 RISC-V Debug调试用例支持的功能限制和不包括的内容RISC-V 调试架构的主要组件用户与调试主机调试翻译器调试传输硬件调试传输模块(DTM)调试模块(DM)调试功能触发模块版本介绍RISC-V Debug RISC-V 调试规范为 RISC-V 处理器提供了一套标准化的调试接口和功能,旨…...
【论文阅读】Federated learning backdoor attack detection with persistence diagram
目的:检测联邦学习环境下,上传上来的模型是不是恶意的。 1、将一个模型转换为|L|个PD,(其中|L|为层数) 如何将每一层转换成一个PD? 为了评估第𝑗层的激活值,我们需要𝑐个输入来获…...
IDEA Maven 打包找不到程序包错误或找不到符号,报错“程序包不存在“
参考文章:https://blog.csdn.net/yueeryuanyi/article/details/14211090 问题:IDEA Maven 打包找不到程序包错误或找不到符号,报错“程序包不存在“编译都没问题 解决思路 – >【清除缓存】 1. 强制刷新Maven缓存 选择 Maven 标签,Exe…...
MySQL数据库做题笔记
题目链接https://leetcode.cn/problems/invalid-tweets-ii/description/https://leetcode.cn/problems/invalid-tweets-ii/description/ # Write your MySQL query statement below SELECT tweet_id FROM Tweets where LENGTH(content)>140 OR (length(content)-length(rep…...
100个python经典面试题详解(新版)
应老粉要求,每晚加餐一个最新面试题 包括Python面试中常见的问题,涵盖列表、元组、字符串插值、比较操作符、装饰器、类与对象、函数调用方式、数据结构操作、序列化、数据处理函数等多个方面。 旨在帮助数据科学家和软件工程师准备面试或提升Python技能。 7、Python面试题…...
Leetcode3232:判断是否可以赢得数字游戏
题目描述: 给你一个 正整数 数组 nums。 Alice 和 Bob 正在玩游戏。在游戏中,Alice 可以从 nums 中选择所有个位数 或 所有两位数,剩余的数字归 Bob 所有。如果 Alice 所选数字之和 严格大于 Bob 的数字之和,则 Alice 获胜。 如…...
Python 爬虫实战基于 Class 的天气查询与反爬虫练习
需求: 要实现一个简单的天气查询爬虫,使用 requests 库来获取网页内容,使用 BeautifulSoup 来解析网页并提取天气信息。以下是一个基本示例,展示了如何抓取天气信息并输出当天的温度和天气状况。 以下是使用 class 类方式实现带有…...
C语言——库函数
常用的函数 https://cplusplus.com/reference/ 没事儿多看看 1 数学函数 #include <math.h> #include <stdio.h> int main() {printf("%lf\n", sqrt(4));//开平方根——>double类型printf("%lf\n", pow(2, 10));//求几次方的——>do…...
软件测试丨Pytest 第三方插件与 Hook 函数
Pytest不仅是一个用于编写简单和复杂测试的框架,还有大量的第三方插件以及灵活的Hook函数供我们使用,这些功能大大增强了其在软件测试中的应用。通过使用Pytest,测试开发变得简便、安全、高效,同时也能帮助我们更快地修复Bug&…...
[ACTF2020 新生赛]BackupFile--详细解析
信息搜集 让我们寻找源文件,目录扫描: 找到了/index.php.bak文件,也就是index.php的备份文件。 后缀名是.bak的文件是备份文件,是文件格式的扩展名。 我们访问这个路径,就会直接下载该备份文件。 我们把.bak后缀删掉…...
ElasticSearch的学习
介绍 ElasticSearch(简称ES)是一个开源的分布式搜索和数据分析引擎,是用Java开发并且是当前最流行的开源的企业级搜索引擎,能够达到近实时搜索,它专门设计用于处理大规模的文本数据和实现高性能的全文检索。 Elastic…...
机器学习6-梯度下降法
梯度下降法 目的 梯度下降法(Gradient Descent)是一个算法,但不是像多元线性回归那样是一个具体做回归任务的算法,而是一个非常通用的优化算法来帮助一些机器学习算法求解出最优解的,所谓的通用就是很多机器学习算法都是用它,甚…...
算法之旅:LeetCode 拓扑排序由简入繁完全攻略
前言 欢迎来到我的算法探索博客,在这里,我将通过解析精选的LeetCode题目,与您分享深刻的解题思路、多元化的解决方案以及宝贵的实战经验,旨在帮助每一位读者提升编程技能,领略算法之美。 👉更多高频有趣Lee…...
vue3项目中使用星火API
在node环境epxress中使用讯飞ai接口进行二次封装,通过ai对话回复提取,获得ai提取的文章摘要 本文章只是简单使用,更复杂功能比如调用星火API制作对话机器人可以查看文档,对于初次使用星火AI接口或许有帮助 讯飞星火大模型API-大模…...
蓝桥杯第 23 场 小白入门赛
一、前言 好久没打蓝桥杯官网上的比赛了,回来感受一下,这难度区分度还是挺大的 二、题目总览 三、具体题目 3.1 1. 三体时间【算法赛】 思路 额...签到题 我的代码 // Problem: 1. 三体时间【算法赛】 // Contest: Lanqiao - 第 23 场 小白入门赛 …...
Cause: java.sql.SQLException: No value specified for parameter 4
问题 执行更新sql时报错,异常栈如下 org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: java.sql.SQLException: No value specified for parameter 4 ### The error may exist in com/my/mapper/MyMapper.java (best gue…...
第五课 Unity资源导入工作流效率优化(AssetGraph工具)
上期我们学习了简单的animation动画的优化,接下来我们继续资源导入效率的优化 工程目录 首先我们来学习一下工程目录结构及用途 Asset文件夹:用来储存和重用的项目资产 Library文件夹:用来储存项目内部资产数据信息的目录 Packages文件夹…...
create-vue创建vue3项目
create-vue是Vue官方新的脚手架工具 前提条件: 已安装16.0或更高版本的Node.js (node -v查看) 创建一个Vue应用 npm init vuelatest 这一指令会帮我们安装并执行create-vue cd vue-project npm install —— 安装依赖 npm run dev...
27 基于51单片机的方向盘模拟系统
目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于STC89C52单片机,采用两个MPX4115压力传感器作为两路压力到位开关电路, 采用滑动变阻器连接数模转换器模拟重力加速度传感器电路; 一个按键控制LED灯的点亮与…...
HarmonyOS
UIAbility UIAbility 组件是一种包含UI的应用组件,主要用于和用户交互 设计理念:原生支持应用组件的跨端迁移和多端协同、支持多设备和多窗口的形态 UIAbility组件是系统调度的基本单位,为应用提供绘制界面的窗口。 /** 为使应用能够正常使用…...
字符串处理(二)
第1题 篮球比赛 查看测评数据信息 学校举行篮球比赛,请设计一个计分系统统计KIN、WIN两队分数,并输出分数和结果! 如果平分就输出‘GOOD’,否则输出获胜队名! 输入格式 输入数据共n1行, 第1行n…...
达梦数据库文件故障的恢复方法
目录 1、概述 1.1 概述 1.2 环境介绍 2、使用备份集的恢复方法 2.1 实验准备 2.2 误删除“用户表空间数据文件” 2.3 误删除SYSTEM.DBF 2.4 误删除ROLL.DBF 2.5 REDO日志文件 3、无备份集的恢复方法 3.1 误删除“表空间数据文件” 3.2误删除控制文件 3.3 误删除RO…...
Redis(5):哨兵
一、作用和架构 1. 作用 在介绍哨兵之前,首先从宏观角度回顾一下Redis实现高可用相关的技术。它们包括:持久化、复制、哨兵和集群,其主要作用和解决的问题是: 1)持久化:持久化是最简单的高可用方法(有时甚…...