2

Print Boundary Elements of a Matrix in JavaScript

 4 months ago
source link: https://www.geeksforgeeks.org/print-boundary-elements-of-a-matrix-in-javascript/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Matrixes are basic data structures that are frequently used to represent grids or tables of numbers. Gathering and showing the elements that are positioned along a matrix’s edges is the process of printing the matrix’s boundary elements.

There are several approaches in JavaScript to print the boundary elements of a matrix which are as follows:

Using brute force

This method iterates through the entire matrix and checks if the current element is on the first or last row/column. If it is, it prints the element.

Example: “This function prints boundary elements of a 2D matrix, iterating through rows and columns to exclude interior elements. It demonstrates boundary printing with a sample matrix.”

Javascript

function printBoundary(matrix) {
    const rows = matrix
        .length;
    if (rows === 0) return;
    const cols = matrix[0]
        .length;

    for (let i = 0; i < rows; i++) {
        for (let j = 0; j < cols; j++) {

            if (i === 0
                ||
                j === 0
                ||
                i === rows - 1
                ||
                j === cols - 1) {
                console.log(matrix[i][j]);
            }
        }
    }
}


const matrix = [
    [1, 2]

];

printBoundary(matrix);
Output

Using for loop

This method efficiently prints the boundary items without additional checks by iterating through the first and last rows and columns using for loop.

Example:“This function efficiently prints boundary elements of a 2D matrix, showcasing optimized printing steps and providing a sample matrix for demonstration.”

Javascript

function printBoundary(matrix) {
    const rows = matrix.length;
    const cols = matrix[0].length;

    if (rows === 0 || cols === 0) {
        return; // Empty matrix
    }

    // Print first row
    for (let i = 0; i < cols; i++) {
        console.log(matrix[0][i]);
    }

    // Print last column (excluding corners)
    for (let i = 1; i < rows; i++) {
        console.log(matrix[i][cols - 1]);
    }

    // Print last row (excluding the first element 
    // which has already been printed)
    if (rows > 1) {
        for (let i = cols - 2; i >= 0; i--) {
            console.log(matrix[rows - 1][i]);
        }
    }

    // Print first column (excluding corners and the last 
    // element which has already been printed)
    if (cols > 1) {
        for (let i = rows - 2; i > 0; i--) {
            console.log(matrix[i][0]);
        }
    }
}
const matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
];

printBoundary(matrix);
Output

Using array methods

The code utilizes the `reduce()` method to iterate over each row of the matrix, extracting boundary elements based on their positions. It concatenates the elements into an array, effectively forming the boundary elements. The `forEach()` method is then used to print each boundary element. Overall, this approach demonstrates how array methods can be leveraged to manipulate and extract data from multidimensional arrays efficiently.

Example: Extracting boundary elements from a matrix using array methods like `reduce()` and `forEach().

Javascript

function printBoundary(matrix) {
    const boundaryElements = matrix
        .reduce((acc, row, rowIndex) => {
            if (rowIndex === 0
                ||
                rowIndex === matrix.length - 1) {
                return acc
                    .concat(row);
            } else {
                return acc
                    .concat([row[0], row[row.length - 1]]);
            }
        }, []);
    boundaryElements
        .forEach(element => console.log(element));
}

// Example usage
const matrix = [
    [1, 2],
    [3, 4]
]

console.log("Boundary elements using array methods:");
printBoundary(matrix);
Output
Boundary elements using array methods:
1
2
3
4

“This course was packed with amazing and well-organized content! The project-based approach of this course made it even better to understand concepts faster. Also the instructor in the live classes is really good and knowledgeable.”- Tejas | Deutsche Bank

With our revamped Full Stack Development Program: master Node.js and React that enables you to create dynamic web applications.

So get ready for salary hike only with our Full Stack Development Course.

Like Article
Suggest improvement
Share your thoughts in the comments

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK