跳出循环及数组部分方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • for循环
  • forEach
  • 3、filter
  • every
  • some


for循环

1、continue;跳出当次循环,进行下一个循环;

function ceshi(){for(var i = 0 ; i < 6 ; i++){if(i == 3){continue;}console.log(i);}
}

2、break;跳出当前循环,不在进行此循环;多个嵌套不影响外层;

function ceshi(){for(var i = 0 ; i < 6 ; i++){if(i == 3){break;}console.log(i);}
}

3、return;结束函数调用;

function ceshi(){for(var i = 0 ; i < 6 ; i++){for(var j = 0 ; j < 6 ; j++){if(j == 2){return j;}}}
}

forEach

forEach对数组中的每一项运行给定函数,没有返回值
返回小于20的obj

let newArr = [];
arr.forEach(item => {if (item.age < 20) {newArr.push(item);}
})
console.log('newArr', newArr);
  • 1 forEach中使用break和continue无法跳出循环,控制台会报错;使用return会跳出本次循环,本次循环中return后面的语句不再执行。
// 找到名字为John的项
let JohnItem = {};
arr.forEach(item => {if(item.name === 'John'){JohnItem = item;// forEach不能使用break跳出循环,控制台会报错// break;// forEach不能使用continue跳出循环,控制台会报错// continue;// forEach使用return可以跳出本次循环;本次循环中return后面的语句不再执行return;}// 控制台打印遍历的项console.log('遍历的项', item);
})
console.log('JohnItem', JohnItem);

forEach使用break或continue,控制台会报错

  • 2、map

map对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
map常用于获取对数组每一项进行处理后的新数组。
map不改变原数组的值
map中使用break和continue无法跳出循环,控制台会报错;使用return会跳出本次循环,本次循环中return后面的语句不再执行。

// map对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
let mapResult = arr.map(item => {// 控制台打印遍历的项console.log('遍历的项', item);return item.age * 2;
});
console.log('mapResult', mapResult);

3、filter

filter对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
filter常用于过滤获取到数组中满足某条件的项组成的新数组
filter不改变原数组的值

let newArr = [];
let filterResult = arr.filter(item => {if (item.age < 20) {newArr.push(item);return item;}
});
console.log('filterResult', filterResult);
console.log('newArr', newArr);

every

every对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
every适合用于判断某个数组中是否每一项都满足某个条件,若都满足则返回true,若有一项不满足,则退出循环,不再遍历后面的项,返回false。
every不改变原数组的值
every判断某一项不满足条件以后,直接退出了循环,返回false,不会遍历所有项。
所以使用return false,可以使every不再遍历后面的项。
若要使用every遍历每一项,则需要每一项都返回true

// 判断是否所有项都满足age < 20
// 简写
// let everyResult = arr.every(item => item.age < 20);
// 为清楚输出遍历的项,采用以下写法
let everyResult = arr.every(item => {console.log('遍历的项', item);return item.age < 20;
});
console.log('everyResult', everyResult);

some

some对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true
some常用于判断某个数组中是否存在满足某条件的项。若存在,即返回true,若不存在,即返回false。当遍历到某一项满足条件时,则退出循环,不再遍历后面的项。
some不改变原数组的值

// 判断是否存在某项满足age < 20
// 简写
// let someResult = arr.some(item => item.age < 20);
// 为清楚输出遍历的项,采用以下写法
let someResult = arr.some(item => {console.log('遍历的项', item);return item.age < 20;
});
console.log('someResult', someResult);

some判断到某一项满足条件以后,直接退出了循环,返回true,不会遍历所有项。
所以使用return true,可以使some不再遍历后面的项。
若要使用some遍历每一项,则需要每一项都返回false

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

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

相关文章

YOLOv8 | 添加注意力机制报错KeyError:已解决,详细步骤

目录 添加注意力机制报错 报错的原因 注意事项 解决错误流程 代码分享 ⭐欢迎大家订阅我的专栏一起学习⭐ &#x1f680;&#x1f680;&#x1f680;订阅专栏&#xff0c;更新及时查看不迷路&#x1f680;&#x1f680;&#x1f680; YOLOv5涨点专栏&#xff1a;h…

重学SpringBoot3-ServletWebServerFactoryAutoConfiguration类

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-ServletWebServerFactoryAutoConfiguration类 工作原理关键组件以TomcatServletWebServerFactory为例ServletWebServerFactory会创建webServer的时机关键…

25考研数据结构复习·3.2队列

队列&#xff08;Queue&#xff09;基本概念 定义 队列&#xff08;Queue&#xff09;时只允许在一端进行插入&#xff0c;在另一端删除的线性表。 特点&#xff1a;先进入队列的元素先出队 先进先出 First In First Out(FIFO) 重要术语 队头、队尾、空队列 基本操作 创、销 I…

页面配置、网络数据请求

1. 页面配置文件的作用 小程序中&#xff0c;每个页面都有自己的 .json 配置文件&#xff0c;用来对当前页面的窗口外观、页面效果等进行配置。 2. 页面配置和全局配置的关系 小程序中&#xff0c; app.json 中的 window 节点&#xff0c;可以全局配置小程序中每个页面的窗口…

网络编程-套接字相关基础知识

1.1. Socket简介 套接字&#xff08;socket&#xff09;是一种通信机制&#xff0c;凭借这种机制&#xff0c; 客户端<->服务器 模型的通信方式既可以在本地设备上进行&#xff0c;也可以跨网络进行。 Socket英文原意是“孔”或者“插座”的意思&#xff0c;在网络编程…

凝聚层次聚类算法详解

一、引言 聚类分析是数据挖掘和机器学习领域中的一种重要技术&#xff0c;用于将相似的对象分组在一起。层次聚类是聚类分析中的一种方法&#xff0c;它通过对数据集进行层次分解来满足特定的条件。在层次聚类中&#xff0c;凝聚层次聚类是一种自底向上的策略&#xff0c;它首…

Java初阶数据结构二叉树实现+练习完整(工程文件后序会进行上传)

i1.二叉树的概念 1.二叉树的定义 &#xff08;1&#xff09;二叉树可以是一个节点的有限集合 &#xff08;2&#xff09;可以为空 &#xff08;3&#xff09;或者是由一个根节点加上两棵分别称为左子树和右子树的二叉树组成的 &#xff08;4&#xff09;二叉树的每一个节点…

openGauss/MogDB调用C FUNCTION

openGauss/MogDB 调用 C FUNCTION 摘要 之前写过一篇关于postgresql 自定义函数实现&#xff0c;通过 contrib 模块进行扩展的帖子&#xff0c;今天和恩墨工程师进行了一些交流&#xff0c;在 MogDB 中也可以实现同样的功能&#xff0c;原以为需要完整的 openGauss 的源码才能…

突破编程_C++_C++11新特性(function与bind绑定器)

1 可调用对象 C 中的可调用对象&#xff08;Callable Objects&#xff09;是指那些能够被调用执行的对象。这包括了函数、函数对象&#xff08;也叫做仿函数&#xff0c;即重载了 operator() 的类或者结构体&#xff09;、Lambda 表达式以及任何具有 operator() 的成员函数的对…

WPF Command

WPF COMMAND在Windows Presentation Foundation&#xff08;WPF&#xff09;框架中是一个设计模式&#xff0c;主要用于实现用户界面&#xff08;UI&#xff09;元素和业务逻辑之间的松耦合交互。具体来说&#xff0c;它是MVVM&#xff08;Model-View-ViewModel&#xff09;架构…

C语言经典面试题目(十一)

1、如何在C语言中进行动态内存分配的错误处理&#xff1f; 在C语言中进行动态内存分配时&#xff0c;需要注意处理内存分配失败的情况。常见的错误处理方式包括&#xff1a; 使用 malloc、calloc 或 realloc 函数进行内存分配后&#xff0c;检查返回的指针是否为 NULL&#x…

PyTorch学习笔记之基础函数篇(十一)

文章目录 7 元素级别的数学运算7.1 torch.abs() 函数7.2 torch.cos() 函数7.3 torch.acos() 函数7.4 torch.add()函数 7 元素级别的数学运算 7.1 torch.abs() 函数 在PyTorch中&#xff0c;torch.abs 函数用于计算张量中每个元素的绝对值。这个函数会返回一个新的张量&#x…

python爬虫实战——抖音

目录 1、分析主页作品列表标签结构 2、进入作品页前 判断作品是视频作品还是图文作品 3、进入视频作品页面&#xff0c;获取视频 4、进入图文作品页面&#xff0c;获取图片 5、完整参考代码 6、获取全部作品的一种方法 本文主要使用 selenium.webdriver&#xff08;Firef…

Java与Go:Map

Map&#xff08;也可以成为字典&#xff0c;映射表&#xff09;是一种数据结构&#xff0c;用于存储键值对&#xff08;key-value pairs&#xff09;。它是一种抽象的数据类型并且允许通过键来快速查找和访问与之相关联的值。在Java和Go中&#xff0c;Map提供了一种非常方便的方…

文章管理AI在架构设计中的关键作用

随着信息技术的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;已逐渐成为各行业的创新引擎。在内容管理领域&#xff0c;文章管理AI的崛起不仅改变了传统的内容生产方式&#xff0c;更在架构设计层面展现出其独特的价值和潜力。本文旨在深入探讨文章管理AI在架构设计…

AJAX学习日记——Day 2

一、Bootstrap 1、功能&#xff1a;不离开当前页面&#xff0c;显示单独内容 2、导入&#xff1a; 1、导入bootstrap.css<link href"https://cdn.jsdelivr.net/npm/bootstrap5.3.0-alpha1/dist/css/bootstrap.min.css" rel"stylesheet" integrity&qu…

手机网络连接性能API接口:查询手机网络连接性能状态

手机在网状态查询服务是一项非常方便的服务&#xff0c;可以帮助我们随时了解一个手机号码的在网状态。不论是查询自己的手机号码&#xff0c;还是查询他人的手机号码&#xff0c;这个服务都可以帮助我们获取准确的信息。今天&#xff0c;我想和大家介绍一个非常好用的手机在网…

力扣100题—持续更新

目录 LC141环形列表(easy)题目描述方法1&#xff1a;快慢指针&#xff08;1&#xff09;思路&#xff08;2&#xff09;python代码&#xff08;3&#xff09;复杂度分析 LC881救生艇&#xff08;medium&#xff09;题目描述方法1&#xff1a;双指针-对撞指针&#xff08;1&…

C++三级2021考题

我家的门牌号 #include<bits/stdc.h> using namespace std; int n,m,sum0; int a[100]; void f(int); int x(int); int main() {int s;cin>>n;for(int i1;true;i){s(1i)*i/2;for(int j1;j<i;j){if(s-2*jn){cout<<j<<i;return 0;}}}return 0; } voi…

柚见第十二期(随机匹配)

随机匹配 目的 为了帮大家更快地发现和自己兴趣相同的朋友 问题 匹配 1 个还是匹配多个&#xff1f; 答&#xff1a;匹配多个&#xff0c;并且按照匹配的相似度从高到低排序 怎么匹配&#xff1f;&#xff08;根据什么匹配&#xff09; 答&#xff1a;标签 tags 还可以根据 us…