2014-01-14 3 views
7

Bei einem JavaScript-Array:Get Spalte in Array von Arrays

var m = someNumber; 
var n = someOtherNumber; 
var myArray = // new m x n Array; 

Was ist der schnellste Weg ist eine Spalte (anstatt eine Reihe) aus dem Array zu bekommen?

Struktur Ex:

getColumn = function(anArray, columnNumber){ 
    //if(column number exists in array) 
     //get column 
    //else 
     //return null 
} 
+1

Siehe http://stackoverflow.com/questions/7848004/get-column-from-a-two-dimensional-array – OnlyThenDidIReckonMyCurse

+0

Nicht Sicher, ich bekomme, was die Spalte sein soll und was die Reihe hier sein soll, ich denke du meinst wirklich Index und Wert? – adeneo

+0

Whoops. mit Pseudocode oben behoben. –

Antwort

5

Die „schnellste“ im Sinne von „mindestens Code“ würde wahrscheinlich Array.prototype.map sein:

function getColumn(anArray, columnNumber) { 
    return anArray.map(function(row) { 
     return row[columnNumber]; 
    }); 
} 
+0

Schön. Dies ist eine gute Lösung. –

0

Im Folgenden finden Sie ein kurzes Beispiel denke ich:

var column_number = 2; 
var column = []; 
for(var i=0; i<9; i++) { 

    var value = matrix[i][column_number]; 
    column.push(value); 

} 
+0

Warum nicht! Auf diese Weise benötigen Sie nicht das zusätzliche Wert-Attribut, das ich verwendete ... –