DEV Community

loading...
Cover image for Day 22 of JavaScriptmas - Extract Matrix Column Solution

Day 22 of JavaScriptmas - Extract Matrix Column Solution

Sekti
Keep moving forward. Learn well not learn fast.
・1 min read

Day 22 Challenge is to extract the specific column from a matrix (list of array).

For example, a matrix with [[1, 1, 1, 2], [0, 5, 0, 4], [2, 1, 3, 6]] which is has 3 index with 4 values/columns on each array.

If I draw it will be like this

[
    [1, 1, 1, 2], 
    [0, 5, 0, 4], 
    [2, 1, 3, 6]
]
Enter fullscreen mode Exit fullscreen mode

Since this is list of array, if I want to extract ONLY the SECOND column (in this case the THIRD value because an array index always start at 0 index) that will give me an output [1, 0, 3], I will use .map.

The way it works is, by looping the matrix using .map, it will return each array that I called it as element, and return the value of each column from the array using element[column].

This is the JavaScript solution

function extractMatrixColumn(matrix, column) {
    return matrix.map(element => element[column]);
}
Enter fullscreen mode Exit fullscreen mode

The test case

const matrix = [[1, 1, 1, 2], [0, 5, 0, 4], [2, 1, 3, 6]];
const column = 2;

extractMatrixColumn(matrix, column); // [1, 0, 3]
Enter fullscreen mode Exit fullscreen mode

Discussion (2)

Collapse
alfredosalzillo profile image
Alfredo Salzillo 🐺
const extractMatrixColumn = (matrix, index) =>  {
    return matrix.map(({ [index]: value }) => value);
}
Enter fullscreen mode Exit fullscreen mode
Collapse
flyingduck92 profile image
Sekti Author

Good one mate, you combine .map with destructuring assignment 👍