首页 > 系统相关 >break 或 continue 循环函数,使用some同forEarch一样,但是直到找到就不继续往下循环,节省内存

break 或 continue 循环函数,使用some同forEarch一样,但是直到找到就不继续往下循环,节省内存

时间:2023-12-27 13:45:50浏览次数:41  
标签:return val forEarch some break 循环 true

停止循环是循环中一个常见的需求。使用for循环我们可以用break提前结束循环。

const a = [0, 1, 2, 3, 4];
for (var i = 0; i < a.length; i++) {
  if (a[i] === 2) {
    break; // stop the loop
  }
  console.log(a[i]);
}
//> 0, 1

另一个常见的需求使我们需要直接取得变量。

一个快速的方式是使用.forEach,但是这样我们就失去了break的能力。这种情况下,最接近的方式是使用return实现continue的功能。

[0, 1, 2, 3, 4].forEach(function(val, i) {
  if (val === 2) {
    // 怎么停止呢?
    return true;
  }
  console.log(val); // your code
});
//> 0, 1, 3, 4
 

.some是一个原型方法。他用来检测是否某些元素满足所提供的函数。如果任何元素最终返回true,它就会停止运行。更多解释请看MDN

引子上面链接的一个例子:

const isBiggerThan10 = numb => numb > 10;

[2, 5, 8, 1, 4].some(isBiggerThan10);  // false
[12, 5, 8, 1, 4].some(isBiggerThan10); // true

使用.some我们拥有了类似.forEach的功能,而且使用return实现了break的效果。

[0, 1, 2, 3, 4].some(function(val, i) {
  if (val === 2) {
    return true;
  }
  console.log(val); // your code
});
//> 0, 1

你可以返回false使循环continue到下一个元素。当你返回true时,循环将会break,此时a.some(..)将会return true

// Array contains 2
const isTwoPresent = [0, 1, 2, 3, 4].some(function(val, i) {
  if (val === 2) {
    return true; // break
  }
});
console.log(isTwoPresent);
//> true

还有.every函数同样可以实现此功能。但此时我们需要返回与.some相反的布尔值。

示例
 

标签:return,val,forEarch,some,break,循环,true
From: https://www.cnblogs.com/fdxjava/p/17930372.html

相关文章

  • 循环层神经网络在图像识别中的应用与实践
    1.背景介绍循环层神经网络(RecurrentNeuralNetworks,RNN)是一种人工神经网络,可以处理序列数据,如自然语言、音频、视频等。在图像识别领域,循环层神经网络在传统的卷积神经网络(ConvolutionalNeuralNetworks,CNN)之上,可以提高模型的表现。图像识别是计算机视觉领域的一个重要分支,它涉及......
  • jmeter的json提取器多个取值的取法&ForEach控制器对多取值变量进行循环调用
    1、jmeter的json提取器多个取值的取法userId有多个值 $.responseData.datas[*].userId-1代表取所有的值  2、ForEach控制器对多取值变量进行循环调用 --实现多取值变量进行循环调用${userId_matchNr} ---代表存储变量的长度  3、循环控制器--实现id自增 ......
  • for 循环的案例分析
    for循环的案例分析//计算0到100以内基数和偶数的和  publicstaticvoidmain(String[]args){    //计算0到100以内基数和偶数的和    intoddSum=0;    intevenSum=0;    for(inti=0;i<=100;i++){      if(i%2......
  • python中for循环跟while循环的对比(加深记忆)
    while循环和for循环的对比 通过对比更能理解循环在循环控制上:    whlie循环可以自定循环条件,并自行控制    for循环不可以自定循环条件,只可以一个个从容器内取出数据在无限循环上:     while循环可以通过条件控制做到无限循环      fo......
  • 测试开发 | 循环神经网络(RNN):时序数据的魔法笔
    循环神经网络(RecurrentNeuralNetwork,简称RNN)是深度学习领域中一种专门用于处理时序数据的神经网络结构。相较于传统神经网络,RNN在处理序列数据时具有独特的优势,使其在自然语言处理、语音识别、股票预测等领域取得了显著的成功。本文将深入探讨循环神经网络的原理、结构和应用,揭示......
  • fortawesome在vue3中的使用
    fortawesome的使用,2023-12-25https://fontawesome.com/search?o=r&m=free&c=coding&s=solid6.5.1,3.0.5,6.5.1yarnadd@fortawesome/fontawesome-svg-coreyarnadd@fortawesome/vue-fontawesomeyarnadd@fortawesome/free-solid-svg-icons/*SetupusingVu......
  • Ubuntu环境下SomeIP/CommonAPI环境搭建详细步骤
    环境搭建1.Boost安装下载Boost源码:https://www.boost.org/users/download/编译安装首先安装编译所需依赖sudoapt-getinstallbuild-essentialg++sudoapt-getinstallinstallpython-devautotools-devsudoapt-getinstallinstalllibicu-devbuild-essentialsudoapt-......
  • 参与循环的正则表达式可能导致异常
    问题描述:批量上传图片后,我们希望获取每一个图片的名字letreg=/(.+)\.(jpg|png|gif|jpeg|webp)/gi; //作为全局变量functioninfo(){letimgInfo=reg.exec(file.name)//这是在循环方法里。然后就出错了。file.name是能获取的,但是经过 reg.exec()处理要得到结果时......
  • error: failed to push some refs to 'http://192.168.1.37:1080/nongzi/nongzi-apple
    当你直接在github上在线修改了代码,或者是直接向某个库中添加文件,但是没有对本地库同步,接着你想push上传到远程库,就会失败,  这个问题是因为远程库与本地库不一致造成的,那么我们把远程库同步到本地库就可以了先把自己代码暂存,然后再拉取更新,然后提交代码 也可参考 http......
  • 记录一下python循环引用问题
    工作遇到了一个引用循环的问题,记录一下test.py:print('fffffff')importmain#导入main.pyprint('sdfdf')defaaa():print('aaaaaaaaaaa')main.py:print('-------------')fromtestimportaaa#试图从test.py导入aaa函数print('......