博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7种你可能不知道的JavaScript循环变体
阅读量:4118 次
发布时间:2019-05-25

本文共 1607 字,大约阅读时间需要 5 分钟。

英文 | https://betterprogramming.pub/all-javascript-loops-f6424cabfcb6

翻译 | web前端开发

每个程序员应该都了解循环,最有可能从while循环开始,最终进入for循环,甚至递归。理解这些概念非常有用,但是,有一些非常规的循环类型,例如,for ... of循环。

今天,就让我们一起来看一下JavaScript中可用的常规和非常规循环。

1、while

许多开发人员在学习期间会遇到的第一个循环是while循环。这是一个非常简单且最小的循环,如果特定测试返回则将循环true。如果以该值false开头,那么它将根本不会循环。

示例如下:

let i = 0// Log: 1 2 3while (i < 3) {  console.log(i)  i++}

2、do while

do ... while循环结构,像while循环一样,当测试返回时,它将遍历代码块true。但是,与while循环不同的是,该循环将至少执行一次,然后在循环的末尾而不是在开始时进行检查。

let i = 0do {  i += 1  console.log(i)} while (i < 5)// Log: 1 2 3 4 5

3、for

for循环是使用最广泛的循环。它用于各种任务,例如,遍历数组或特定次数。与while循环不同,你不必自己更新测试值。

for(let i = 0; i < 10; i++){  console.log(i)}// Log: 1 through 10

4、 for … in

该循环对于遍历数组或另一个可迭代对象以及对该可迭代对象中的每个值进行操作。它会创建一个可以使用的项目变量,而不是索引变量。

let arr = ["Apple", "Pear", "Cucumber"]for (let item in arr) {  console.log(item)}// Log: Apple Pear Cucumber

5、for … of

可以与for ... in循环相同的方式使用它,但是它的用法略有不同。

const arr = [3, 5, 7];// Set arr.fooarr.foo = 'hello';// For ... infor (let i in arr) {   console.log(i); // logs "0", "1", "2", "foo"}// For ... offor (let i of arr) {   console.log(i); // logs 3, 5, 7}// For ... of will not show 'foo'

6、forEach

一些可迭代对象(例如数组)包含用于对其进行迭代的内置函数。forEach的功能,如map和filter,要求将通过在迭代每个项目执行的功能。

let arr = [1, 2, 3, 4]arr.forEach((item, index) => {  console.log(item)})

7、递归

遍历数组或设置次数的“最困难”方法是递归。递归是计算机科学中的一个主题,它松散地表示一个函数将自行调用,直到进行特定的迭代为止。起初很难理解这个概念,但是,我希望代码片段可以帮助你理解。

function loop(loopsLeft){  if(loopsLeft > 0){    console.log(loopsLeft)    loop(loopsLeft - 1)  } else {    return true   }}loop(5)

结论

循环可以通过很多方式来完成。其中一些仅对特定任务有用,希望,我今天列举的这些实例对你有用。

感谢你的阅读,祝你有美好的一天。

学习更多技能

请点击下方公众号

转载地址:http://nlbpi.baihongyu.com/

你可能感兴趣的文章
ThreadLocal
查看>>
从Executor接口设计看设计模式之最少知识法则
查看>>
OKhttp之Call接口
查看>>
application/x-www-form-urlencoded、multipart/form-data、text/plain
查看>>
关于Content-Length
查看>>
WebRequest post读取源码
查看>>
使用TcpClient可避免HttpWebRequest的常见错误
查看>>
EntityFramework 学习之一 —— 模型概述与环境搭建 .
查看>>
C# 发HTTP请求
查看>>
启动 LocalDB 和连接到 LocalDB
查看>>
Palindrome Number --回文整数
查看>>
Reverse Integer--反转整数
查看>>
Container With Most Water --装最多水的容器(重)
查看>>
Longest Common Prefix -最长公共前缀
查看>>
Letter Combinations of a Phone Number
查看>>
Single Number II --出现一次的数(重)
查看>>
Valid Parentheses --括号匹配
查看>>
Remove Element--原地移除重复元素
查看>>
Remove Duplicates from Sorted Array--从有序数组中移除重复元素
查看>>
Count and Say
查看>>