js多种循环方法(通过循环进行判断的相关方法)

for:正常循环(同步的循环)

break、continue终止循环

for (let index = 0; index < array.length; index++) {const element = array[index];}

forEach:正常循环(异步的循环)

通过try异常抛出终止循环,return可以跳过本次循环

//正常循环
array.forEach(element => {});
//异常抛出终止循环
try {arr.forEach(function (curItem, i) {if(curItem === 1) return;console.log(curItem)if (curItem === id) {throw Error();         //满足条件,跳出循环}})} catch (e) {}

every:循环有返回值

有返回值,一个条件不满足就返回false,并不继续循环


let flag=arr.every(item=>{return item===1
})

some:循环有返回值

有返回值,一个条件满足就返回true,并不继续循环

let flag=arr.some(item=>{return item===1
})

indexOf(正向查找)、lastIndexOf(反向查找):可以用于字符串和一维数组的判断

:反向查找

可以判断数组或字符串内是否包含某个值,返回值是下标,找到返回位置下标,没找到返回-1

let str='aaaaab'
let index = str.indexOf('b')
let index = str.lastIndexOf('b')

includes:可以用于字符串和一维数组的判断

可以判断数组或字符串内是否包含某个值,返回值是下标,找到true,没找到返回false

let str='aaaaab'
let index = str.includes('b')

filter:过滤(vue2可以使用,vue3弃用(应该是弃用))

将数组内满足条件的对象返回出去,返回出一个新的数组

let arr = 数组.filter((e) => e.name != '测试')

map:循环返回新数组

可以对遍历项操作,且返回新的数组,元素组不改变


let arr=arr.map(item=>{return item=item+'_'
})

 while:正常循环

通过判断条件是否满足,执行是否继续循环

let i = 1;while (i <= 10) {i++;}

do while:正常循环

先执行循环,再判断下次循环是否继续(如果一开始条件就不满足,他也会执行一次)

let i=1
do {i++	} while (i<=10);

reduce:累计计算与一维数组内容拼接

将一个一维数组拼到一块,可以计算相加值,也可以将数字全部拼接成字符串

let arr=[1,2,3,4]
//计算数组相加值
let data=arr.reduce((total,prev,index,arr) =>{return total +prev;});
//data返回值10//将数组内容拼接成字符串
let data=arr.reduce((total,prev,index,arr) =>{return total +prev;},'');
//data返回值1234

for...in:循环出key值

不推荐遍历数组,一般用来遍历对象 毕竟key都给你输出了

let list = ['a', 12, 'c', 'd', 'e', 'a'];
for(let key inlist){console.log(list[key]);}
//'a', 12, 'c', 'd', 'e', 'a'

find:获取数组符合条件的第一个值,如果没有找到返回undefined

let list = ['a', 12, 'c', 'd', 'e'];const result = list.find((item,index) =>{return item === 'a'})console.log(result) // a

findIndex:获取数组符合条件的第一个值得索引,如果没有找到就返回-1

let list = ['a', 12, 'c', 'd', 'e','a'];const result= list.findIndex((item,index) =>{return item === 'a'})console.log(result)//0

for...of:可以循环map与set结构

let list = ['a', 12, 'c', 'd', 'e', 'a'];for(let s of list) {console.log(s);}//'a', 12, 'c', 'd', 'e', 'a'

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

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

相关文章

RAG技术:是将知识库的文档和问题共同输入到LLM中

RAG技术 RAG技术是将知识库的文档和问题共同输入到LLM中 RAG技术是先从知识库中检索出与问题相关的文档片段,然后将这些检索到的文档片段与问题一起输入到LLM中进行回答。具体过程如下: 文本分块 由于LLM的上下文窗口有限,需要将长文本资料分割成较小的块,以便LLM能够有…

现代 CPU 的高性能架构与并发安全问题

现代 CPU 的设计&#xff08;如多级缓存、指令重排&#xff09;为了提升性能&#xff0c;引入了许多优化机制&#xff0c;但这些机制可能导致并发场景下的安全性问题。并发安全性主要体现在三个方面&#xff1a;原子性、有序性 和 可见性。这些问题在底层通过 CAS&#xff08;C…

SpringMVC框架(二)

目录 三、请求参数绑定 四、常用注解 1、RequestParam注解 2、RequestBody注解 3、RequestHeader注解 4、CookieValue注解 5、PathVaribale注解 三、请求参数绑定 1、案例 jsp代码 <% page contentType"text/html;charsetUTF-8" language"java"…

【Python项目】个人密码本文档系统

【Python项目】个人密码本文档系统 技术简介&#xff1a;采用Python技术、Django、MYSQL数据库等实现。 系统简介&#xff1a;系统主要的功能有&#xff08;1&#xff09;新建密码本&#xff1a;用户可以创建新的密码本来记录自己的账户与密码&#xff1b; &#xff08;2&#…

mysql连接失败问题记录

mysql服务有时候在未正常关闭时&#xff0c;会导致在机器重启后导致连接不成功&#xff0c;这边只记录我遇到的情况及解决方案&#xff0c;主要是mysql的日志文件在复位异常关闭时造成文件损坏&#xff0c;然后下一次开机MySQL可能无法正确读取或写入这些文件&#xff0c;从而导…

《OpenCV》——模版匹配

文章目录 OpenCV——模版匹配简介模版匹配使用场景OpenCV 中模板匹配的函数参数 OpenCV——模版匹配实例导入所需库读取图片并处理图片对模版图片进行处理进行模版匹配显示模版匹配的结果注意事项 OpenCV——模版匹配简介 OpenCV 是一个非常强大的计算机视觉库&#xff0c;其中…

doc、pdf转markdown

国外的一个网站可以&#xff1a; Convert A File Word, PDF, JPG Online 这个网站免费的&#xff0c;算是非常厚道了&#xff0c;但是大文件上传多了之后会扛不住 国内的一个网站也不错&#xff1a; TextIn-AI智能文档处理-图像处理技术-大模型加速器-在线免费体验 https://…

整数对最小和,暴力存储所有数组,再放容器sort一下,accumulate(s1.begin(),s2.begin()+k,0)即可。

#include <bits/stdc.h> using namespace std; //最小和问题&#xff0c;求出所有整数对求和&#xff0c;排序即可 int main() { int n1,n2; cin>>n1; int s1[n1]; for(int i0;i<n1;i) { cin>>s1[i]; } cin>>n…

金融项目实战 06|Python实现接口自动化——日志、实名认证和开户接口

目录 一、日志封装及应用&#xff08;理解&#xff09; 二、认证开户接口脚本编写 1、代码编写 1️⃣api目录 2️⃣script目录 2、BeautifulSoup库 1️⃣简介及例子 2️⃣提取html数据工具封装 3、认证开户参数化 一、日志封装及应用&#xff08;理解&#xff09; &…

浅谈云计算15 | 存储可靠性技术(RAID)

存储可靠性技术 一、存储可靠性需求1.1 数据完整性1.2 数据可用性1.3 故障容错性 二、传统RAID技术剖析2.1 RAID 02.2 RAID 12.3 RAID 52.4 RAID 62.5 RAID 10 三、RAID 2.0技术3.1 RAID 2.0技术原理3.1.1 两层虚拟化管理模式3.1.2 数据分布与重构 3.2 RAID 2.0技术优势3.2.1 自…

Spring官网构建Springboot工程

注意&#xff1a;基于Idea的 Spring Initializr 快速构建 SpringBoot 工程时需要联网。 1.进入SpringBoot官网 Spring | Home 点击QUICKSTART 点击start.spring.io进入spring initializr 2.选择依赖 3.生成工程 下载好后解压用IDEAD导入即可。

C++基础之: 迭代器

简介 迭代器是 C 的一个重要组成部分, 它在数据结构和算法之间架起了桥梁. 迭代器作为通用指针, 可以遍历和操作容器中的元素, 同时隐藏底层的复杂性. 让我们一起探索现代 C 中迭代器的概念, 类别和使用场景. 什么是迭代器? 迭代器是一种抽象工具, 它允许顺序访问集合中的元…

C++并发编程之std::partial_sum的并行版本

在C中&#xff0c;std::partial_sum 是一个用于计算前缀和的算法&#xff0c;它将输入范围中的每个元素替换为其前缀和。为了提高性能&#xff0c;我们可以设计并实现一个并行版本的 std::partial_sum&#xff0c;以便在多核处理器上并行执行前缀和计算。基本思想是将输入范围划…

计算机的错误计算(二百一十二)

摘要 利用两个大模型计算 实验表明&#xff0c;两个大模型均进行了中肯的分析。另外&#xff0c;其中一个大模型给出了 Python代码&#xff0c;运行后&#xff0c;结果中有7位错误数字&#xff1b;而一个大模型进行加减运算时出错。 例1. 计算 下面是与一个大模型的对话…

常见的php框架有哪几个?

一直以来&#xff0c;PHP作为一种广泛使用的编程语言&#xff0c;拥有着许多优秀的框架来帮助开发人员快速构建稳定的Web应用程序。本文降为大家介绍几种常见的PHP的主流框架&#xff0c;以及它们相关的特点和使用场景。如有问题&#xff0c;欢迎指正&#xff01; 1.Laravel&a…

zerotier已配置但ip连不上?

利用zerotier内网渗透&#xff0c;在公网上远程连接使用局域网内的服务器&#xff0c;经常遇到连接不上的问题 zerotier配置过程 解决方法 声明&#xff1a;个人使用过程中&#xff0c;发现的有效解决方法&#xff0c;不一定能解决所有人的问题 总结&#xff1a; 重启Zerotier…

GORM(Go语言数据交互库)

GORM&#xff08;Go ORM&#xff0c;即对象关系映射&#xff09;是Go语言中非常流行且功能强大的数据库交互库。它简化了与关系型数据库的交互过程&#xff0c;提供了丰富的API来处理各种数据库操作。下面将详细介绍GORM的功能、使用方法和一些高级特性。 1. 安装 首先&#…

Vue+Echarts+百度地图 实现 路径规划

实现功能: 通过选择 相关调拨&#xff0c;系统自动规划 路径&#xff0c;并且以地图的形式呈现最佳路径 技术难点: 1. vue 结合使用 echarts 2.echarts 在 vue嵌入百度地图&#xff0c;并且做出路径 曲线 最终结果:

【算法】图解两个链表相交的一系列问题

问&#xff1a; 给定两个可能有环也可能无环的单链表&#xff0c;头节点head1和head2。请实现一个函数&#xff0c;如果两个链表相交&#xff0c;请返回相交的第一个节点&#xff1b;如果不相交&#xff0c;返回null。如果两个链表长度之和为N&#xff0c;时间复杂度请达到O(N…

Elasticsearch实战指南:从入门到高效使用

Elasticsearch实战指南&#xff1a;从入门到高效使用 1. 引言&#xff1a;Elasticsearch是什么&#xff1f; Elasticsearch是一个分布式、RESTful风格的搜索和分析引擎&#xff0c;广泛应用于全文搜索、日志分析、实时数据分析等场景。它的核心特点包括&#xff1a; 高性能&…