Most Asked JavaScript Star and Number Patterns

JavaScript pattern programs
pattern programs
star pattern
number pattern
nested loop pattern logic
Learn how to solve JavaScript star and number pattern problems step-by-step. Includes most asked interview patterns with logic, thinking strategy, and complete code examples for beginners.
How to Think Before Writing Pattern Code
Before coding, always follow this structure:
Step 1: Count Rows
How many rows are printed?
Step 2: Identify Columns
How many items per row?
Step 3: Identify Pattern Formula
- Increasing? → j <= i
- Decreasing? → j <= rows - i
- Pyramid? → 2*i - 1
- Spaces? → rows - i
Step 4: Use Nested Loop Structure
1for (let i = 1; i <= rows; i++) {
2 let pattern = "";
3 for (let j = 1; j <= something; j++) {
4 pattern += "something";
5 }
6 console.log(pattern);
7}PART 1: STAR PATTERNS
1 Right Triangle Pattern
Output:
1*
2**
3***
4****
5*****Step-by-Step Thinking
- Rows = 5
- Stars in each row = row number
- Formula: j <= i
1let rows = 5;
2
3for (let i = 1; i <= rows; i++) {
4 let pattern = "";
5 for (let j = 1; j <= i; j++) {
6 pattern += "*";
7 }
8 console.log(pattern);
9}2 Inverted Right Triangle
1*****
2****
3***
4**
5*Logic:
- Stars decrease each row
- Formula: j <= rows - i + 1
1let rows = 5;
2
3for (let i = 1; i <= rows; i++) {
4 let pattern = "";
5 for (let j = 1; j <= rows - i + 1; j++) {
6 pattern += "*";
7 }
8 console.log(pattern);
9}3 Right Aligned Triangle
1 *
2 **
3 ***
4 ****
5*****Logic:
- Spaces = rows - i
- Stars = i
1let rows = 5;
2
3for (let i = 1; i <= rows; i++) {
4 let pattern = "";
5
6 for (let s = 1; s <= rows - i; s++) {
7 pattern += " ";
8 }
9
10 for (let j = 1; j <= i; j++) {
11 pattern += "*";
12 }
13
14 console.log(pattern);
15}4 Full Pyramid Pattern (Very Important)
1 *
2 ***
3 *****
4 *******
5*********Deep Logic:
- Spaces = rows - i
- Stars = 2*i - 1
Why 2*i - 1?
Because:
Row 1 → 1
Row 2 → 3
Row 3 → 5
Odd numbers increase by 2.
1let rows = 5;
2
3for (let i = 1; i <= rows; i++) {
4 let pattern = "";
5
6 for (let s = 1; s <= rows - i; s++) {
7 pattern += " ";
8 }
9
10 for (let j = 1; j <= 2 * i - 1; j++) {
11 pattern += "*";
12 }
13
14 console.log(pattern);
15}5 Inverted Pyramid
1*********
2 *******
3 *****
4 ***
5 *Logic:
Reverse the pyramid.
1let rows = 5;
2
3for (let i = rows; i >= 1; i--) {
4 let pattern = "";
5
6 for (let s = 1; s <= rows - i; s++) {
7 pattern += " ";
8 }
9
10 for (let j = 1; j <= 2 * i - 1; j++) {
11 pattern += "*";
12 }
13
14 console.log(pattern);
15}6 Diamond Pattern (Combination Pattern)
Combine:
- Pyramid
- Inverted Pyramid (excluding middle duplicate)
1let rows = 5;
2
3// Upper Pyramid
4for (let i = 1; i <= rows; i++) {
5 let pattern = "";
6
7 for (let s = 1; s <= rows - i; s++) pattern += " ";
8 for (let j = 1; j <= 2 * i - 1; j++) pattern += "*";
9
10 console.log(pattern);
11}
12
13// Lower Pyramid
14for (let i = rows - 1; i >= 1; i--) {
15 let pattern = "";
16
17 for (let s = 1; s <= rows - i; s++) pattern += " ";
18 for (let j = 1; j <= 2 * i - 1; j++) pattern += "*";
19
20 console.log(pattern);
21}7 Hollow Square
1*****
2* *
3* *
4* *
5*****Logic:
Print star if:
- First row
- Last row
- First column
- Last column
1let rows = 5;
2
3for (let i = 1; i <= rows; i++) {
4 let pattern = "";
5
6 for (let j = 1; j <= rows; j++) {
7 if (i === 1 || i === rows || j === 1 || j === rows) {
8 pattern += "*";
9 } else {
10 pattern += " ";
11 }
12 }
13
14 console.log(pattern);
15}PART 2: NUMBER PATTERNS
8 Number Triangle
11
212
3123
41234
5123451let rows = 5;
2
3for (let i = 1; i <= rows; i++) {
4 let pattern = "";
5 for (let j = 1; j <= i; j++) {
6 pattern += j;
7 }
8 console.log(pattern);
9}9 Reverse Number Triangle
112345
21234
3123
412
511let rows = 5;
2
3for (let i = rows; i >= 1; i--) {
4 let pattern = "";
5 for (let j = 1; j <= i; j++) {
6 pattern += j;
7 }
8 console.log(pattern);
9}10 Floyd’s Triangle (Frequently Asked)
11
22 3
34 5 6
47 8 9 10Important Concept:
Use external counter variable.
1let rows = 4;
2let num = 1;
3
4for (let i = 1; i <= rows; i++) {
5 let pattern = "";
6 for (let j = 1; j <= i; j++) {
7 pattern += num + " ";
8 num++;
9 }
10 console.log(pattern);
11}11 Palindrome Number Pyramid
11
2121
312321
412343211let rows = 4;
2
3for (let i = 1; i <= rows; i++) {
4 let pattern = "";
5
6 for (let j = 1; j <= i; j++) {
7 pattern += j;
8 }
9
10 for (let j = i - 1; j >= 1; j--) {
11 pattern += j;
12 }
13
14 console.log(pattern);
15}12 0-1 Pattern
11
201
3101
401011let rows = 4;
2
3for (let i = 1; i <= rows; i++) {
4 let pattern = "";
5 for (let j = 1; j <= i; j++) {
6 pattern += (i + j) % 2;
7 }
8 console.log(pattern);
9}13 Pascal’s Triangle
11
21 1
31 2 1
41 3 3 1
51 4 6 4 11let rows = 5;
2
3for (let i = 0; i < rows; i++) {
4 let pattern = "";
5 let num = 1;
6
7 for (let s = 1; s <= rows - i; s++) {
8 pattern += " ";
9 }
10
11 for (let j = 0; j <= i; j++) {
12 pattern += num + " ";
13 num = num * (i - j) / (j + 1);
14 }
15
16 console.log(pattern);
17}Mathematical formula for that :
Each number =
nCr = n! / (r! (n-r)!)
Better optimized logic:
value = value * (i - j) / j
14 Hollow Pyramid
1 *
2 * *
3 * *
4 * *
5*********1let rows = 5;
2
3for (let i = 1; i <= rows; i++) {
4 let pattern = "";
5
6 // Spaces
7 for (let s = 1; s <= rows - i; s++) {
8 pattern += " ";
9 }
10
11 for (let j = 1; j <= 2 * i - 1; j++) {
12 if (i === 1 || i === rows || j === 1 || j === 2 * i - 1) {
13 pattern += "*";
14 } else {
15 pattern += " ";
16 }
17 }
18
19 console.log(pattern);
20}15 Binary Pyramid
1 1
2 101
3 10101
41010101Binary alternates:
Use (i + j) % 2
1let rows = 4;
2
3for (let i = 1; i <= rows; i++) {
4 let pattern = "";
5
6 for (let s = 1; s <= rows - i; s++) pattern += " ";
7
8 for (let j = 1; j <= 2 * i - 1; j++) {
9 pattern += (i + j) % 2;
10 }
11
12 console.log(pattern);
13}Final Interview Advice
If interviewer gives new pattern:
- Draw it
- Separate:
- Left part
- Middle part
- Right part
- Identify:
- Increasing?
- Decreasing?
- Mirror?
- Space formula?
- Convert to nested loops.

