Pattern Printing in JavaScript
Pattern printing is a fundamental concept in programming that allows developers to practice and improve their skills with loops and nested iterations. It involves creating visually structured outputs such as shapes, numbers, or symbols using loops, making it an essential exercise in understanding the basics of algorithm design.
Square Star Pattern
Description: Prints a square pattern of stars of size n
.
function squarePattern(n) {
for (let row = 0; row < n; row++) {
let pattern = '';
for (let column = 0; column < n; column++) {
pattern += '* ';
}
console.log(pattern);
}
}
squarePattern(4);
Output:
* * * *
* * * *
* * * *
* * * *
Right-Angled Triangle Pattern
Description: Prints a right-angled triangle pattern of stars.
function trianglePattern(n) {
let pattern = '';
for (let i = 0; i < n; i++) {
for (let j = 0; j < i + 1; j++) {
pattern += '* ';
}
console.log(pattern);
pattern = '';
}
}
trianglePattern(4);
Output:
*
* *
* * *
* * * *
Inverted Right-Angled Triangle Pattern
Description: Prints an inverted right-angled triangle pattern of stars.
function invertedTrianglePattern(n) {
let pattern = '';
for (let i = 0; i < n; i++) {
for (let j = 0; j < n - i; j++) {
pattern += '* ';
}
console.log(pattern);
pattern = '';
}
}
invertedTrianglePattern(5);
Output:
* * * * *
* * * *
* * *
* *
*
Diamond Pattern
Description: Prints a diamond-shaped pattern of stars.
function diamondPattern(n) {
let pattern = '';
for (let i = 0; i < n; i++) {
for (let j = 0; j < n - i - 1; j++) {
pattern += ' ';
}
for (let k = 0; k < 2 * i + 1; k++) {
pattern += '*';
}
console.log(pattern);
pattern = '';
}
for (let i = n - 2; i >= 0; i--) {
for (let j = 0; j < n - i - 1; j++) {
pattern += ' ';
}
for (let k = 0; k < 2 * i + 1; k++) {
pattern += '*';
}
console.log(pattern);
pattern = '';
}
}
diamondPattern(5);
Output:
*
***
*****
*******
*********
*******
*****
***
*
Pyramid Pattern
Description: Prints a pyramid pattern of stars.
function pyramidPattern(n) {
let pattern = '';
for (let i = 0; i < n; i++) {
for (let j = 0; j < n - i - 1; j++) {
pattern += ' ';
}
for (let k = 0; k < 2 * i + 1; k++) {
pattern += '*';
}
console.log(pattern);
pattern = '';
}
}
pyramidPattern(5);
Output:
*
***
*****
*******
*********
Symmetrical Triangle Pattern
Description: Prints a symmetrical triangle pattern of stars.
function symmetricalTrianglePattern(n) {
for (let i = 1; i <= 2 * n - 1; i++) {
let stars = i <= n ? i : 2 * n - i;
console.log('*'.repeat(stars));
}
}
symmetricalTrianglePattern(5);
Output:
*
**
***
****
*****
****
***
**
*
Extended Symmetrical Triangle Pattern
Description: Prints an extended symmetrical triangle pattern of stars.
function extendedSymmetricalTrianglePattern(n) {
for (let i = 1; i <= 2 * n - 1; i++) {
let stars = i <= n ? i : 2 * n - i;
console.log('*'.repeat(stars));
}
}
extendedSymmetricalTrianglePattern(5);
Output:
*
**
***
****
*****
****
***
**
*
Number Triangle Pattern
Description: Prints a triangle of numbers incrementing in each row.
function numberTrianglePattern(n) {
let number = '';
for (let i = 0; i < n; i++) {
for (let j = 0; j < i + 1; j++) {
number += j + 1;
}
console.log(number);
number = '';
}
}
numberTrianglePattern(5);
Output:
1
12
123
1234
12345
Repeated Number Triangle Pattern
Description: Prints a triangle of repeated numbers, increasing in each row.
function repeatedNumberTrianglePattern(n) {
let number = '';
for (let i = 0; i < n; i++) {
for (let j = 0; j < i + 1; j++) {
number += i + 1;
}
console.log(number);
number = '';
}
}
repeatedNumberTrianglePattern(5);
Output:
1
22
333
4444
55555
Reverse Pyramid Pattern
Description: Prints a reverse pyramid pattern of stars.
function reversePyramidPattern(n) {
let pattern = '';
for (let i = n - 1; i >= 0; i--) {
for (let j = 0; j < n - i - 1; j++) {
pattern += ' ';
}
for (let k = 0; k < 2 * i + 1; k++) {
pattern += '*';
}
console.log(pattern);
pattern = '';
}
}
reversePyramidPattern(5);
Output:
*********
*******
*****
***
*