JavaScriptのループは何ですか?


この記事ではJavaScriptの重要な部分について議論します.loops , それは繰り返し物事を行うことを意味します.ループは、いくつかの条件を使用してコードの特定のチャンクを繰り返すことができます.何度か何かを印刷しなければならず、配列内のすべての数字を合計したり、オブジェクトからすべてのキー/値を一覧表示しなければならないなら、ループを使用することによってこれを行うことができます.さまざまな種類のループがあります.

ループ
カウンタが指定された数に達するまで、それはコードのブロックを通してループします.
文法
for([initial expression] [condition] [increment expression]) {
//statement 
}

//example of a for loop

for(let i = 1; i <= 10; i++) {
    console.log(Hello, my name is Uma!, i)
}
>Hello, my name is Uma! 1
>Hello, my name is Uma! 2
>Hello, my name is Uma! 3
>Hello, my name is Uma! 4
>Hello, my name is Uma! 5
>Hello, my name is Uma! 6
>Hello, my name is Uma! 7
>Hello, my name is Uma! 8
>Hello, my name is Uma! 9
>Hello, my name is Uma! 10

上記のカウンタ変数i 次に、i が10以下であるi 条件が満たされるまで、毎回.私たちが見ることができるように、それは文字列を10回印刷し、それが印刷されるたびに、カウンタは1増加されました.
ここで議論する一つの重要な部分はInfinite loop . これは無限ループが終わることがないので、あなたのプログラムをクラッシュさせる最後に遭遇したくないものです.もちろん、あなたは決して起こらないでしょう.以下の例を見てください.
for(let i = 1; i !==20; i+=2) {
    console.log(i)
}

上記のコードスニペットで何が間違っていますか?はい、それを右推測-条件.その条件は決して満たされません:1の開始カウンタ値から毎回2ずつ増やされることによって、それは奇数を印刷するだけですcounter i 変数は決して値の20に設定されませんので、プログラムがクラッシュするまで(Oops!)実行し続けます.使用しないことをお勧めします== or !== forループではなく、>= or <= , 条件が満たされなくても無限ループを防ぐことができます.
配列と文字列のループを使用できますか?
答えはイエスです.いくつかの例を見てみましょうfor loop を返します.
const studentsName = [Uma, Collin, Jordan, Henry, Wills]

for(let i = 0; i < studentsName.length;  i++) {
     console.log(studentsName[i])
 }
>Uma
>Collin
>Jordan
>Henry
>Wills

配列内のオブジェクトを持つ別の例を見てみましょう.
const myFamily = [
{
  Name: Umesh,
  Age: 36
},
{
  Name: Uma,
  Age: 35
},
{
   Name: Aiden,
   Age: 4
}
]

for(let i = 0; i < myFamily.length;  i++) {
   let familyMember = myFamily[i]   //this has to be inside the loop to access one object at a time
     console.log(`${familyMember.name} is ${familyMember.age} years old.`)
 }
>Umesh is 36 years old.
>Uma is 35 years old.
>Aiden is 4 years old.

さあ、文字列を見てみましょう.今回はインクリメント(++)の代わりにdecment (-)を使います:
const greet = Hello!
for(let i = greet.length - 1; i >= 0; i--) {
   console.log(i, greet[i].toUpperCase())
}
>5, !
>4, O
>3, L
>2, L
>1, E
>0, H

かなりまっすぐ進む右?

whileループ
whileループはテスト条件が真であれば実行を続ける.
文法
while(condition) {  //condition needs to be true
  //statement   -need to make it false somehow, otherwise, it will turn into an infinite loop
}
簡単に見ましょうWhile Loop 例:
let age = 8

while(age < 18) {
      console.log("your age is less than 18, you can't have a drink right now!") 
      age++
   }
   console.log("You are now over 18, enjoy your first drink. Cheers!!")

>your age is less than 18, you can't have a drink right now!
>your age is less than 18, you can't have a drink right now!
>your age is less than 18, you can't have a drink right now!
>your age is less than 18, you can't have a drink right now!
>your age is less than 18, you can't have a drink right now!
>your age is less than 18, you can't have a drink right now!
>your age is less than 18, you can't have a drink right now!
>your age is less than 18, you can't have a drink right now!
>your age is less than 18, you can't have a drink right now!
>your age is less than 18, you can't have a drink right now!
>You are now over 18, enjoy your first drink. Cheers!!

ここで別の例ですWhile loop :

const target = Math.floor(Math.random()* 10)
let yourGuess = Math.floor(Math.random()* 10)

while(yourGuess !== target) {
    console.log('try again') 
    yourGuess = Math.floor(Math.random() * 10)
  }

console.log(`Target: ${target} yourGuess: ${yourGuess}`) 
console.log('Congrats you win!')

> try again
> Target: 2 yourGuess: 2
> Congrats you win!


…ループfor...of は配列や他のiterableオブジェクトを反復処理する簡単な方法です.
文法
 for( variable of iterable) {
       statement
  }

我々は、同じ例を使用することができますfor loop これらの2つのメソッドの違いを見るには配列を使用します.とfor loop , 配列から要素にアクセスするには、次のようにします.
const studentsName = [Uma, Collin, Jordan, Henry, Wills]

 for(let i = 0; i < studentsName.length;  i++) {
     console.log(studentsName[i])
 }
>Uma
>Collin
>Jordan
>Henry
>Wills

今すぐにfor...of ループのように簡単に行うことができます.
const studentsName = [Uma, Collin, Jordan, Henry, Wills]

for(let name of studentsName ) {
     console.log(name)
 }
>Uma
>Collin
>Jordan
>Henry
>Wills

ブーム.どのように涼しかった?我々は、Aと同じ論理を使うことができますString .
const word = welcome!

for(let char of word) {
   console.log(char)
}
> w
> e
> l
> c
> o
> m
> e
> !

for...of ほとんどの場合、我々はインデックスを使用する必要があります大きなフィットですが、それは使用することをお勧めしませんfor..of . その場合、for loop 使用する方がよい.たとえば、2つの配列が存在する場合、
const words1 = [orange, peanut, strawberry]
const words2 = [juice, butter, jam]

“オレンジジュース”、“ピーナッツバター”と“イチゴジャム”の対応するインデックスを印刷するには、我々はfor...of ループが簡単に解決することができますfor loop 以下のように:
for(let i = 0; i < words1.length; i++) {
    console.log(`${words1[i]  ${words2[i]}`)
}
> orange juice
> peanut butter
> strawberry jam

きちんと!
今問題は我々が使用することができますfor...of オブジェクトで?
答えはイエスですが、配列と同様に簡単ではありません.オブジェクトはiterableではありません.では、どのようにしてfor...of オブジェクトをループ?以下に例を示します.
const progressReportOfAiden = {
    math: 10,
    science: 9.5,
    english: 9.5,
    art: 9,
    history: 8,
    social: 8.5,
    nepali: 8
}

// to print out only subject names we can do so by:
// in Object.keys Object needs to be capitalized. 

for(let subject of Object.keys(progressReportOfAiden) {
    console.log(subject)
}
> math
> science
> english
> art
> history
> social
> nepali

あなたがよく知らないならばObject.keys , この文書を見てください.同様に、値のみ使用にアクセスするにはObject.values の代わりにObject.keys .

…インループfor...in オブジェクトのキーの上のループfor...of 私たちはオブジェクトを使わなければなりませんでした.キーを介してループにアクセスするキー.これは、キーをループする簡単な方法です.
文法
for( variable in object) {
   statement
}

さあ、使いましょうfor...in 上記のループfor...of ループの例
const progressReportOfAiden = {
    math: 10,
    science: 9.5,
    english: 9.5,
    art: 9,
    history: 8,
    social: 8.5,
    nepali: 8
}

// to print out only subject names we can do it so by:

for(let subject in progressReportOfAiden) {
    console.log(subject)
}
> math
> science
> english
> art
> history
> social
> nepali

// to access values just console.log(progressReportOfAiden[subjects])

Ahhh非常に容易.そしてそれはJavaScriptのループのすべてです.お読みありがとうございます.
ハッピーコーディング.