循环:For 循环、While 循环、ForOf 循环、ForIn 循环

循环:for 循环、while 循环、forof 循环、forin 循环

循环的目的是重复一些功能。

一些类型的循环包括:

for 循环while 循环for…of 循环for…循环

for循环

to 可以写一个简单的 for 循环如下:

for (let i = 1; i <= 10; i++) {  console.log(i); // prints numbers 1-10}

要循环数组,我们可以执行以下操作:

const animals = ['lizard', 'fish', 'turtle'];for (let i = 0; i < animals.length; i++) {  console.log(i, animals[i]);}// 0 'lizard'// 1 'fish'// 2 'turtle'

我们还可以反向循环这个数组:

for (let i = animals.length - 1; i >= 0; i--) {  console.log(i, animals[i]);}// 2 'turtle'// 1 'fish'// 0 'lizard'

我们还可以循环内循环:

for (let i = 0; i <= 2; i++) {  for (let j = 0; j < 2; j++) {    console.log(`i=${i}, j=${j}`);  }}// i=0, j=0// i=0, j=1// i=1, j=0// i=1, j=1// i=2, j=0// i=2, j=1

如果我们想要迭代数组的数组,这很有用:

const seatingchart = [  ['abigale', 'tim', 'cynthia'],  ['bob', 'carter', 'zane', 'tanja'],  ['quin', 'xavier'],];// to print each name individually from seatingchart:for (let i = 0; i < seatingchart.length; i++) {  for (let j = 0; j < seatingchart[i].length; j++) {    console.log(seatingchart[i][j]);  }}

while 循环

简单 while 循环的一个例子是:

let num = 0;// to print out 0 through 4:while (num < 5) {  console.log(num);  num++;}

中断关键字

break关键字可用于退出while循环:

let input = prompt('say something:');while (true) {  input = prompt(input);  if (input === 'stop copying me') {    break; // finally stops prompting user  }}

它也可以用于退出 for 循环。假设我们有一行:

let line = ['abby', 'salvia', 'jamie', 'carter', 'john'];

我们想要输出 jamie 之前的每个人,但不输出 jamie:

for (let i = 0; i < line.length; i++) {  if (line[i] === 'jamie') break;  console.log(line[i]);}

for…of 循环

如果我们想打印数组中的每个值,我们可以这样做:

let people = ['agitha', 'bruce', 'charlie', 'dane', 'ernie'];// to print each persons name:for (let person of people) {  console.log(person);}

为了使之前的座位表示例更清晰,我们可以这样做:

const seatingchart = [  ['abigale', 'tim', 'cynthia'],  ['bob', 'carter', 'zane', 'tanja'],  ['quin', 'xavier'],];// to print each name individually from seatingchart:for (let row of seatingchart) {  for (let person of row) {    console.log(person);  }}

for…in 循环

如果我们想迭代对象中的每个键值对,我们可以这样做:

const testscores = {  jim: 34,  abby: 93,  greg: 84,  mark: 95,  melvin: 73,};for (let person in testscores) {  console.log(`${person} scored ${testscores[person]}`);}

如果我们想使用 for…of 得到 testscores 的平均值,我们可以这样做:

let total = 0;let scores = Object.values(testScores);for (let score of scores) {  total += score;}let avg = total / scores.length;console.log(avg);

以上就是循环:For 循环、While 循环、ForOf 循环、ForIn 循环的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1490076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月19日 12:55:44
下一篇 2025年12月19日 12:55:59

相关推荐

  • 使用 Nodejs 和 MongoDB 本机驱动程序构建快速灵活的 CRUD API

    将 node.js 和 express 与 mongodb 本机驱动程序结合使用:原因和方式 如果您使用 node.js 和 express,您可能遇到过 mongoose,这是一个流行的 mongodb odm(对象数据建模)库。虽然 mongoose 提供了许多有用的功能,但您可能有理由选择直接…

    2025年12月19日
    000
  • 领导并留住开发人员

    很明显,公司是多么努力地留住软件工程师、开发人员、数据科学家和其他技术专业人员。他们试图让工作环境尽可能凉爽,在办公室里放置了爆米花机、各种零食、装有啤酒和软饮料的迷你吧、乒乓球桌、电子游戏、泡芙,甚至愿意付费购买技术、英语,访问 Netflix、Spotify 的课程以及其他一些有吸引力的福利。 …

    2025年12月19日
    000
  • 我如何在启动 ScriptKavi/Hooks 后数周内获得星星

    介绍 当我第一次构想 scriptkavi/hooks 时,我的目标是创建一个能够简化 React 应用程序中的状态管理和副作用的库。作为一名热衷于干净代码和高效开发工作流程的开发人员,我看到需要一种可以简化这些流程的工具。我几乎不知道,在启动 ScriptKavi/Hooks 的短短两周内,该项目…

    2025年12月19日
    000
  • JavaScript 中的地址格式

    地址是我们日常生活的基本组成部分,无论我们是发送邮件、订购包裹还是导航到新位置。但在代码中处理地址时,事情可能会变得棘手。不同的国家/地区具有独特的地址格式,即使在同一个国家/地区内,地址的结构也可能存在差异。在本指南中,我们将探讨地址格式化的基础知识,并了解一些在 javascript 中处理地址…

    2025年12月19日
    000
  • 卢迪亚纳的全栈网站开发课程

    在 Digital Grow Up,我们经过认证的全栈 Web 开发课程经过精心设计,旨在为您提供网页设计和开发方面的坚实基础。从 HTML 和 CSS 到高级 JavaScript 和数据库管理,我们确保您做好充分准备来应对实际项目。不要错过通过卢迪亚纳最佳网站设计课程提升您职业生涯的机会。加入 …

    2025年12月19日
    000
  • 如何使用 NVM 安装 Nodejs LTS

    如果您是 javascript 开发人员或刚刚进入 node.js 开发世界,您可能听说过 node.js 的不同版本以及不同项目之间的兼容性问题。 node version manager (nvm) 对于任何需要轻松管理 node.js 多个版本的人来说都是必备工具。 什么是nvm? node …

    2025年12月19日
    000
  • 入门:设置您的 JavaScript 开发环境

    欢迎来到 javascript 开发的世界!设置开发环境是成为成功开发人员的第一步。在本指南中,我们将引导您完成启动和运行环境的基本步骤。 1. 选择您的 ide 集成开发环境 (ide) 是您编写和测试代码的地方。以下是一些流行的选项: visual studio code (vs code):一…

    2025年12月19日
    000
  • 测试 AWS AppSync JavaScript 解析器

    “还有什么比测试 JavaScript 文件更容易的呢?” 这是我上个月开始开发 AppSync JavaScript 解析器时问自己的问题。我需要转换 HTTP 调用的响应并执行一些错误检查。这应该需要进行一些单元测试,我将在半小时内完成。 错了. 是什么让这个特殊的测试如此困难? AppSync…

    2025年12月19日
    000
  • 在 Javascript 中使用此函数将字符串转换为驼峰命名法

    曾经需要将字符串转换为驼峰命名法吗?我在探索开源 supabase 存储库时发现了一个有趣的代码片段。这是他们使用的方法: function featuretocamelcase(feature: feature) { return feature .replace(/:/g, ‘_’) .spli…

    2025年12月19日
    000
  • 探索 React JS 从哪里开始?

    几乎到处都听到React,我也忍不住去探索一下!虽然我不需要 React 作为后端工程师,但我觉得它可能是接触前端世界并帮助我了解全局的好方法(确实如此!)。我开始了解前端开发的观点/挑战,并在设计后端系统时牢记它们。更重要的是,了解事物端到端的工作原理是令人满足的。 但是从哪里开始呢? 如果您有 …

    2025年12月19日
    000
  • 如何 Docker 化 React 应用程序

    如何 docker 化 react 应用程序 对 react 应用程序进行 docker 化可以简化您的开发工作流程,确保不同开发阶段的环境一致,并简化部署流程。本指南将引导您完成 dockerize react 应用程序的步骤,从设置 docker 环境到构建和运行 docker 映像。 先决条件…

    2025年12月19日
    000
  • 使用 useCallback 在 useSWR 中缓存您的 fetcher

    我在gitroom源代码中找到了一种使用usecallback在useswr中缓存fetcher的方法。 上图来自platform-analytics/render.analytics.tsx。让我们尝试理解这段代码。 我们将探索如何结合使用 usecallback 钩子和 useswr 来优化 r…

    2025年12月19日
    000
  • 缓存

    向您介绍Encache!! 轻量级,易于为您的Nodejs服务器使用Async缓存库。 Encache 是作为 NPM 上可用的所有现有内存中易失性缓存库的下一个迭代而开发的,将其提升到一个全新的水平,同时保持简单性,因为整个缓存只需 4 行代码即可设置。 显着特点 目前Encache支持多种驱逐策…

    2025年12月19日
    000
  • C++如何解析JSON_使用nlohmann/json库处理C++中的JSON数据

    nlohmann/json库通过单头文件实现C++中JSON的解析与生成,支持字符串解析、对象构建、数组嵌套及自定义类型序列化,语法简洁且功能完整,极大简化了数据交换与配置处理。 在C++中处理JSON数据一直是个挑战,因为语言标准库没有内置支持。但使用第三方库 nlohmann/json 可以让这…

    2025年12月19日
    000
  • C++如何进行单元测试覆盖率分析_结合gcov和lcov生成C++代码测试报告

    使用gcov和lcov可实现C++单元测试覆盖率分析:1. 安装GCC、gcov、lcov并用-fprofile-arcs -ftest-coverage编译;2. 运行测试生成.gcda文件;3. 用lcov收集数据并生成HTML报告;4. 可集成至CI/CD持续监控。 在C++项目中进行单元测试…

    2025年12月19日
    000
  • C++如何删除字符串中的空格_C++ remove_if与erase组合技巧

    使用std::remove_if与erase组合可高效删除字符串空格。该方法基于erase-remove惯用法,remove_if将满足条件的字符前移并返回新末尾迭代器,再由erase删除末尾冗余部分。例如删除所有空白字符:str.erase(std::remove_if(str.begin(), …

    2025年12月19日
    000
  • C++如何实现一个可配置的系统_使用ini-parser或jsoncpp为C++应用添加配置文件功能

    通过引入INI或JSON外部配置文件,结合SimpleIni或JsonCpp库解析,可实现C++项目的灵活配置管理,提升可维护性与扩展性。 在C++项目中,硬编码配置参数会让程序难以维护和扩展。通过引入外部配置文件(如INI或JSON格式),可以实现灵活的可配置系统。以下是使用 ini-parser…

    2025年12月19日
    000
  • c++如何实现一个简单的后缀数组(Suffix Array)_c++字符串处理高级算法【源码】

    c++kquote>后缀数组是字符串所有后缀按字典序排序后的起始下标数组;例如”ababa”的后缀数组为[4,0,2,1,3];可通过暴力法(O(n²log n))或倍增算法(O(n log²n))构建,后者利用rank数组分轮按长度倍增排序。 什么是后缀数组? 后缀数…

    2025年12月19日
    000
  • C++代码怎么在浏览器里运行_使用Emscripten将C++编译为WebAssembly(WASM)教程

    安装Emscripten后,将C++代码编译为WebAssembly,生成WASM、JS和HTML文件,通过本地服务器运行,可在浏览器中执行C++代码并实现JS与C++交互。 想让C++代码在浏览器里运行?用Emscripten把C++编译成WebAssembly(WASM)是最直接的方法。它不仅能…

    2025年12月19日
    000
  • 如何使用gtest为c++代码编写单元测试 Google Test框架入门【工程实践】

    用Google Test写C++单元测试的核心是写可测代码、用断言验证行为、自动化执行;推荐FetchContent拉取源码编译,用TEST宏定义测试用例,EXPECT_EQ等断言验证结果。 用 Google Test(gtest)为 C++ 项目写单元测试,核心是:写可测代码 + 用断言验证行为 …

    2025年12月19日
    000

发表回复

登录后才能评论
关注微信