Dapatkah Anda membuat sarang untuk loop di javascript?

kode di atas hanyalah contoh sederhana dari loop bersarang yang menunjukkan aliran program dan iterasi

keluaran

for i= 1 the innerloop iteration values are
j= 1
j= 2
j= 3
j= 4
for i= 2 the innerloop iteration values are
j= 1
j= 2
j= 3
j= 4
for i= 3 the innerloop iteration values are
j= 1
j= 2
j= 3
j= 4
for i= 4 the innerloop iteration values are
j= 1
j= 2
j= 3
j= 4
for i= 5 the innerloop iteration values are
j= 1
j= 2
j= 3
j= 4


Secara umum, untuk mencetak tabel/matriks atau program pola apa pun, representasinya adalah sebagai berikut

  1. untuk loop luar pertimbangkan  i=baris ( cetak  baris)
  2. untuk loop dalam, j=kolom. (mencetak kolom dia)

Hal ini diperlukan untuk memahami dan mengimplementasikan program dengan cara yang lebih baik

Mari buat beberapa pola menggunakan JavaScript Nested Loops

Sekarang kita akan melihat beberapa program pola untuk memahami konsep tersebut

pola 1

cetak pola seperti yang ditunjukkan di bawah ini

AAAAA
AAAAA
AAAAA 
AAAAA
AAAAA
let alp="" //empty string
let n=5 //both the loop should run 5 times
for(let i=1;i<=5;i++){
    for(let j=1;j<=5;j++)
    {
        alp+="A"; //pass any string to print 
    }
    alp+="\n";//new line for each row
}
console.log(alp);

Pada kode di atas, perhatikan bahwa jumlah baris sama dengan jumlah kolom. jadi ini memberi ide saat menulis kondisi untuk program pola tertentu. ada banyak pola yang bisa Anda pecahkan dan pelajari konsepnya dari mereka. Mari kita lihat satu program pola terakhir

Komposisi loop disebut loop bersarang. Jenis loop bersarang yang paling umum adalah satu loop di dalam loop lainnya. Loop pertama biasanya disebut loop luar sedangkan loop kedua disebut loop dalam. Loop luar selalu dieksekusi terlebih dahulu, dan loop dalam dieksekusi di dalam loop luar setiap kali loop luar dieksekusi satu kali. Lihatlah contoh di bawah ini dan visualisasikan cara kerja nested loop

for (counter = 1; counter < 4; counter++) { 
    // count from 1 to 3 three times
    console.log("Count from 1 to 3");
    for (counterTwo = 1; counterTwo < 4; counterTwo++){
        console.log(counterTwo);
    }
}

Kode contoh di atas menjalankan loop luar dan loop dalam masing-masing empat kali. Program mencetak angka 1-3 4 kali berbeda. Loop bagian dalam mencetak digit individual sementara loop bagian luar menentukan berapa kali tugas ini diulang. Coba ubah penghitung < 4 menjadi penghitung < 1. Angka 1 sampai 3 hanya boleh dicetak satu kali jika perubahan ini dilakukan. Ini karena loop luar hanya dieksekusi sekali. Jika istirahat;

Loop bersarang adalah pola pengkodean yang memungkinkan Anda melakukan kode perulangan di dalam loop pertama. Anda mungkin memiliki for loop biasa seperti ini

for (let i = 0; i < 2; i++) {
  console.log("- First level loop");
}
_

Anda dapat membuat loop level kedua yang berjalan di dalam loop level pertama dengan membuat loop for lainnya di dalam loop pertama sebagai berikut

for (let i = 0; i <= 2; i++) {
  console.log("- First level loop");
  for (let j = 0; j <= 3; j++) {
    console.log("-- Second level loop");
  }
}

Kode di atas akan menghasilkan output berikut

- First level loop
-- Second level loop
-- Second level loop
-- Second level loop
-- Second level loop
- First level loop
-- Second level loop
-- Second level loop
-- Second level loop
-- Second level loop
- First level loop
-- Second level loop
-- Second level loop
-- Second level loop
-- Second level loop
_

Seperti yang Anda lihat pada contoh output di atas, loop for level kedua dijalankan untuk setiap

for (let i = 0; i <= 2; i++) {
  console.log("- First level loop");
  for (let j = 0; j <= 3; j++) {
    console.log("-- Second level loop");
  }
}
level pertama. Variabel
for (let i = 0; i <= 2; i++) {
  console.log("- First level loop");
  for (let j = 0; j <= 3; j++) {
    console.log("-- Second level loop");
  }
}
_3 dan
for (let i = 0; i <= 2; i++) {
  console.log("- First level loop");
  for (let j = 0; j <= 3; j++) {
    console.log("-- Second level loop");
  }
}
4 adalah indikator dari elemen matriks yang umum digunakan dalam matematika

Loop bersarang dapat dilakukan di dalam loop for atau loop

for (let i = 0; i <= 2; i++) {
  console.log("- First level loop");
  for (let j = 0; j <= 3; j++) {
    console.log("-- Second level loop");
  }
}
6, meskipun loop for lebih umum

let i = 0;
while (i <= 2) {
  console.log("- First level loop");
  i++;
  let j = 0;
  while (j <= 3) {
    console.log("-- Second level loop");
    j++;
  }
}

Anda juga dapat membuat lebih dari dua level loop bersarang, tetapi ini tidak disarankan karena akan membingungkan developer berpengalaman sekalipun

Iterasi melalui array multi dimensi dengan loop bersarang

Loop bersarang juga dapat digunakan untuk melakukan iterasi melalui array dua dimensi. Misalkan Anda memiliki larik yang berisi tiga larik bersarang sebagai berikut

let arr = [
  [1, 2],
  [3, 4],
  [5, 6],
];

Jika Anda membuat satu loop, Anda akan mengulang array luar dan mencatat array bersarang sebagai berikut

let arr = [
  [1, 2],
  [3, 4],
  [5, 6],
];

for (let i = 0; i < arr.length; i++) {
  console.log(arr[i]);
}

Outputnya akan seperti yang ditunjukkan di bawah ini

[ 1, 2 ]  # arr[0]
[ 3, 4 ]  # arr[1]
[ 5, 6 ]  # arr[2]

Jika Anda ingin mencatat setiap elemen di dalam array bersarang, Anda perlu melakukan iterasi melalui array bersarang dengan menggunakan

for (let i = 0; i <= 2; i++) {
  console.log("- First level loop");
  for (let j = 0; j <= 3; j++) {
    console.log("-- Second level loop");
  }
}
8 untuk kondisi perulangan

let arr = [
  [1, 2],
  [3, 4],
  [5, 6],
];

for (let i = 0; i < arr.length; i++) {
  for (let j = 0; j < arr[i].length; j++) {
    console.log(arr[i][j]);
  }
}

Outputnya adalah sebagai berikut

1  # arr[0][0]
2  # arr[0][1]
3  # arr[1][0]
4  # arr[1][1]
5  # arr[2][0]
6  # arr[2][1]

Pola loop bersarang agak rumit, dan bahkan pengembang berpengalaman pun bisa bingung dengannya. Untuk memahami apa yang dilakukan kode Anda, pertama-tama Anda harus memecahkan pola dan memvisualisasikan setiap kode loop. Misalnya, Anda dapat mencatat keluaran dari loop tingkat pertama terlebih dahulu

Bisakah loop for disarangkan?

Loop for bersarang menempatkan satu for loop di dalam for loop lainnya . Loop dalam diulang untuk setiap iterasi dari loop luar.

Apakah mungkin untuk membuat sarang while loops di dalam for loops?

Ya, Anda dapat menggunakan loop bersarang . Anda dapat menggunakan for loop di dalam while loop.

Apakah buruk membuat nested while loops?

Tidak, tidak ada masalah di loop bersarang . Meskipun, Anda mungkin ingin merangkum beberapa dari mereka ke dalam metode yang mencerminkan apa yang mereka lakukan - yang terakhir menjadi skipSpaces() , atau semacamnya. Bersarang dalam dapat menjadi indikasi bahwa Anda harus melakukan refactor untuk membagi berbagai hal menjadi fungsi yang berbeda.