Ich habe ein Array ein Subarray mit x-Koordinaten enthält, y-Koordinaten, und Werten für eine Matrix:effizienterer Ansatz für lineare Array Umwandlung Matrix
// [x,y,value]
var arr = [
[1,2,0.01],
[1,3,0.02],
[1,4,0.05],
[1,5,0.03],
[2,3,0.04],
[2,4,0.02],
[2,5,0.01],
[3,4,0.06],
[3,5,0.05],
[4,5,0.07],
]
Dann habe ich einen Null-gefüllten 2D-Array ("Matrix") von x_max X x_max Dimensionen. Ich versuche, einen rechentechnisch effizienten Ansatz zu verwenden, in den Werten dieser Matrix zu füllen, wie folgt:
// already have a variable called 'matrix' which is zero-filled
function constructMatrix(){
for(var i in arr){
var y = arr[i][0];
var x = arr[i][1];
var val = arr[i][2];
matrix[y][x] = val;
}
}
Was erhalte ich eine Matrix mit einzigartigen Spaltenwerten ist aber der gleiche Wert in Reihen. Gibt es irgendwo eine einfache Unterbrechung meiner Logik?
Ich würde erwarten, Ausgabe wie folgt aus:
var matrix = [
[0.01,0.02,0.05,0.03],
[0,0.04,0.02,0.01],
[0,0,0.06,0.05],
[0,0,0,0.07],
]
Könnten Sie uns ein exemple der erwarteten Ausgang geben? –
@kevinternet da bist du. – Wagtail
Hier ist eine Geige des Problems: https://jsfiddle.net/ocwna691/ – Wagtail