Given a JavaScript array:
var m = someNumber;
var n = someOtherNumber;
var myArray = // new m x n Array;
What's the fastest way to get a column (rather than a row) from the array?
Ex structure:
getColumn = function(anArray, columnNumber){
//if( column number exists in array)
//get column
//else
//return null
}
Given a JavaScript array:
var m = someNumber;
var n = someOtherNumber;
var myArray = // new m x n Array;
What's the fastest way to get a column (rather than a row) from the array?
Ex structure:
getColumn = function(anArray, columnNumber){
//if( column number exists in array)
//get column
//else
//return null
}
Share
Improve this question
edited Jan 14, 2014 at 22:20
asked Jan 14, 2014 at 22:13
user1958502user1958502
6
|
Show 1 more comment
3 Answers
Reset to default 12The “fastest” in terms of “least code” would probably be Array.prototype.map
:
const getColumn = (anArray, columnNumber) =>
anArray.map(row => row[columnNumber]);
const getColumn = (anArray, columnNumber) =>
anArray.map(row => row[columnNumber]);
const arr = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
];
console.log(getColumn(arr, 0));
Below is a quick example i think:
var column_number = 2;
var column = [];
for(var i=0; i<9; i++) {
var value = matrix[i][column_number];
column.push(value);
}
This could help for anyone looking for a nice way to do it in ES6
let extractColumn = (arr, column) => arr.map(x=>x[column]);
Reference: GitHub@pauloffborba
[row][col]
(andm,n
is common for matrices in mathematics). This is particularly clear when an array is initialized on multiple lines. – Brian S Commented Jan 14, 2014 at 22:21