JavaScript Nested Loops
JavaScript Nested Loops
ఒక loop లోపల మరొక loop ను ఉపయోగించినప్పుడు దాన్ని nested loop అంటారు. Outer loop ప్రతి iteration కు Inner loop మొత్తం execute అవుతుంది.
Nested loop ఎలా పనిచేస్తుంది?
మొదట Outer loop ఒకసారి run అవుతుంది. ఆ సమయంలో Inner loop తన అన్ని iterations పూర్తి చేస్తుంది. తరువాత Outer loop యొక్క తదుపరి iteration ప్రారంభమవుతుంది.
ఉదాహరణకు, Outer loop 3 సార్లు మరియు Inner loop 4 సార్లు run అయితే, Inner loop మొత్తం 3 × 4 = 12 సార్లు execute అవుతుంది.
Syntax
ఒక for loop లోపల మరొక for loop ఇలా రాయవచ్చు:
for statement యొక్క condition లో < లేదా > వంటి operators ఉపయోగించవచ్చు. Visible code లో వీటిని HTML interpretation నుండి రక్షించడానికి escape చేస్తాము.
Outer loop మరియు Inner loop
- Outer loop: పెద్ద పని లేదా rows సంఖ్యను నియంత్రిస్తుంది.
- Inner loop: ప్రతి row లోని columns లేదా items ను నియంత్రిస్తుంది.
Nested loops సాధారణంగా tables, patterns, matrices మరియు రెండు-dimensional data తో పనిచేసేటప్పుడు ఉపయోగపడతాయి.
Simple Explanation
ఒక classroom లో 3 rows మరియు ప్రతి row లో 4 students ఉన్నారని ఊహించండి. ప్రతి row ను చూడటానికి ఒక Outer loop, ఆ row లోని ప్రతి student ను చూడటానికి ఒక Inner loop ఉపయోగించవచ్చు.
Outer loop ఒకసారి run అయినప్పుడు Inner loop పూర్తిగా run అవుతుంది. అందువల్ల మొదటి row లోని 4 items పూర్తయిన తర్వాత మాత్రమే రెండవ row ప్రారంభమవుతుంది.
Real-Life Example
ఒక cinema hall లో rows మరియు seats ఉన్నాయని అనుకోండి. ప్రతి row ను check చేయడానికి Outer loop, ఆ row లోని ప్రతి seat ను check చేయడానికి Inner loop ఉపయోగించవచ్చు. ఇదే విధంగా online shopping లో categories మరియు ప్రతి category లోని products ను process చేయడానికి nested loops ఉపయోగించవచ్చు.
Code Examples
Rows మరియు Columns ను print చేయడం
for (let row = 1; row <= 3; row++) {
let line = "";
for (let column = 1; column <= 4; column++) {
line += column + " ";
}
console.log(line);
}
ఇక్కడ Outer loop 3 rows కోసం run అవుతుంది. ప్రతి row లో Inner loop 1 నుండి 4 వరకు run అయి numbers ను ఒక line లో కలుపుతుంది. ప్రతి Outer loop iteration చివర ఆ line console లో print అవుతుంది.
1 2 3 4 1 2 3 4 1 2 3 4
Star pattern తయారు చేయడం
for (let row = 1; row <= 4; row++) {
let stars = "";
for (let column = 1; column <= row; column++) {
stars += "* ";
}
console.log(stars);
}
ఈ ఉదాహరణలో Inner loop ఎన్ని సార్లు run అవ్వాలో row విలువ నిర్ణయిస్తుంది. మొదటి row లో ఒక star, రెండవ row లో రెండు stars ఇలా pattern తయారవుతుంది.
* * * * * * * * * *
Line-by-Line Explanation
ఇది Outer loop. row variable 1 నుండి ప్రారంభమై 4 వరకు ప్రతి iteration తర్వాత ఒకటి పెరుగుతుంది.
ప్రతి row కోసం stars ను store చేయడానికి ఖాళీ string ను సృష్టిస్తుంది. ప్రతి కొత్త row ప్రారంభంలో ఇది ఖాళీగా ఉంటుంది.
ఇది Inner loop. ప్రతి row number కు సమానంగా ఈ loop run అవుతుంది. ఉదాహరణకు row విలువ 3 అయితే Inner loop 3 సార్లు run అవుతుంది.
ప్రతి Inner loop iteration లో ఒక star మరియు ఒక space ను stars string కు జత చేస్తుంది.
ఇది Inner loop ముగింపు. ఆ row కు అవసరమైన stars జత అయిన తర్వాత loop ముగుస్తుంది.
ప్రస్తుత row లో తయారైన star pattern ను console లో print చేస్తుంది.
ఇది Outer loop ముగింపు. అన్ని rows పూర్తయ్యే వరకు Outer loop మళ్లీ ప్రారంభమవుతుంది.
Try It
Try this JavaScript code:
const rows = 3;
const columns = 5;
for (let row = 1; row <= rows; row++) {
let line = "";
for (let column = 1; column <= columns; column++) {
line += "? ";
}
console.log(line);
}
Practice
Practice:
Nested loop ఉపయోగించి 1 నుండి 3 వరకు పెరుగుతున్న number pattern ను print చేయండి. Expected output: మొదటి row లో 1, రెండవ row లో 1 2, మూడవ row లో 1 2 3 కనిపించాలి.
Hint:
Outer loop rows ను నియంత్రించాలి. Inner loop యొక్క condition లో column <= row అనే logic ఉపయోగించండి.
Practice:
Nested loops ఉపయోగించి 2 rows మరియు 3 columns కలిగిన rectangle ను # symbols తో print చేయండి.
Hint:
Outer loop ను 2 సార్లు, Inner loop ను ప్రతి row కు 3 సార్లు run చేయండి.
Common Mistakes
Inner loop ను Outer loop బయట రాయడం. అలా చేస్తే అది ప్రతి row కోసం మళ్లీ run కాదు.
ప్రతి row కు Inner loop execute కావాలంటే దాన్ని Outer loop యొక్క curly braces { } లోపల ఉంచాలి.
Inner loop లోని counter కు Outer loop counter నే మళ్లీ ఉపయోగించడం.
Outer loop మరియు Inner loop కోసం వేర్వేరు variables, ఉదాహరణకు row మరియు column, ఉపయోగించండి.
Loop condition లో increment చేయకపోవడం. ఉదాహరణకు column++ మర్చిపోతే loop ఆగకపోవచ్చు.
ప్రతి loop యొక్క initialization, condition మరియు update భాగాలను సరిగ్గా verify చేయండి.
ప్రతి row ప్రారంభంలో output string ను reset చేయకపోవడం.
Outer loop లోపల let line = “”; వంటి statement ఉంచి ప్రతి row కోసం కొత్త string సృష్టించండి.
Interview Questions
Nested loop అంటే ఏమిటి?
Answer: ఒక loop లోపల మరొక loop ఉన్నప్పుడు దాన్ని nested loop అంటారు. ప్రతి Outer loop iteration కు Inner loop పూర్తిగా execute అవుతుంది.
Outer loop 3 సార్లు మరియు Inner loop 4 సార్లు run అయితే Inner loop body మొత్తం ఎన్ని సార్లు execute అవుతుంది?
Answer: Inner loop body మొత్తం 12 సార్లు execute అవుతుంది, ఎందుకంటే 3 × 4 = 12.
Nested loops ను ఎప్పుడు ఉపయోగిస్తారు?
Answer: Rows మరియు columns ఉన్న data, tables, patterns, matrices లేదా ఒక collection లోని ప్రతి item ను మరొక collection తో compare చేయాల్సినప్పుడు nested loops ఉపయోగిస్తారు.
Exam Questions
ఈ code యొక్క output ఏమిటి? for (let i = 1; i <= 2; i++) { for (let j = 1; j <= 3; j++) { console.log(i, j); } }
Answer:
Output లో 6 lines వస్తాయి: 1 1, 1 2, 1 3, 2 1, 2 2, 2 3.
Nested loop లో Inner loop ఎప్పుడు పూర్తిగా execute అవుతుంది?
Answer:
Outer loop యొక్క ప్రతి ఒక్క iteration లో Inner loop initialization నుండి condition false అయ్యే వరకు పూర్తిగా execute అవుతుంది.
Quick Revision
- Nested loop అంటే ఒక loop లోపల మరొక loop.
- Outer loop rows లేదా ప్రధాన repetitions ను నియంత్రిస్తుంది.
- Inner loop ప్రతి Outer loop iteration లో పూర్తిగా run అవుతుంది.
- Outer loop 3 సార్లు, Inner loop 4 సార్లు run అయితే మొత్తం 12 executions వస్తాయి.
- Patterns మరియు rows-columns data కోసం nested loops చాలా ఉపయోగకరంగా ఉంటాయి.
- ప్రతి loop కు సరైన counter, condition మరియు update ఉండాలి.
