4D array
    
bleicher
    
    
      
    
  - javascript
- 0 Kai345
- 0 Novi
- 0 - dankebleicher
 nicht angemeldet
 nicht angemeldetGrüße,
irgndwie scheitern meine versuche ein 4D-Array in JS zu benutzen -
  
var cells=[[[[]]]];  
  
	var coords=[];  
	var temp1=0;  
	var temp2=0;  
	var temp3=0;  
	  
		for(var i=0;i<pos.length;i++){  
			coords=pos[i].split(" ");  
			//particles.push();  
			temp1=parseInt(coords[0]*100);  
			temp2=parseInt(coords[1]*100);  
			temp3=parseInt(coords[2]*100);  
			cells[temp1][temp2][temp3].push([coords,up[i].split(" ")]);  
		}  
ich evrsuche ein 3D koordinatenfeld zu "diskretisieren" und die zugehörigen punkte ine inem 3D array passender koordinaten sammeln - das scheint aber so einfach nciht zu gehen - sol ich tatsächlich den push() schachteln?
MFG
bleicher
[latex]Mae govannen![/latex]
Grüße,
irgndwie scheitern meine versuche ein 4D-Array in JS zu benutzen -
var cells=[[[[]]]];
oder anders geschrieben:
[code lang=javascript]var cells=[
    [
        [
            []
        ]
    ]
];
  
Also ein Array mit \*einem\* Eintrag, welcher ein Array mit \*einem\* Eintrag ist, welcher ein Array mit \*einem\* Eintrag ist, welcher ein Array mit \*einem\* Eintrag ist. Also kann in  
  
cells[temp1][temp2][temp3] jeder Wert von tempn ausschließlich 0 sein, da du ansonsten in ein undefiniertes Array schreiben willst.  
  
  
  
Stur lächeln und winken, Männer!  
Kai
-- 
Dank Hixies Idiotenbande geschieht grade eben wieder ein Umdenken  
in Richtung "Mess up the Web".([suit](https://forum.selfhtml.org/?t=197497&m=1324775))  
[SelfHTML-Forum-Stylesheet](http://selfhtml.knrs.de/#h_stylesheet)
Hallo,
var cells=[[[[]]]];
Das bringt glaube ich nicht den gewünschten Effekt, da du immer nur dem Element mit dem Index 0 ein neuer Array zuweist.
cells[temp1][temp2][temp3].push([coords,up[i].split(" ")]);
Ungetestet:
 if(!typeof cells[temp1] == object) {  
cells[temp1] = [];  
}  
if(!typeof cells[temp1][temp2] == object) {  
cells[temp1][temp2] = [];  
}  
if(!typeof cells[temp1][temp2][temp3] == object) {  
cells[temp1][temp2][temp3] = [];  
}  
cells[temp1][temp2][temp3].push([coords,up[i].split(" ")]);
Oder so:
 if(!cells[temp1]) {  
cells[temp1] = [];  
}  
if(!cells[temp1][temp2]) {  
cells[temp1][temp2] = [];  
}  
if(!cells[temp1][temp2][temp3]) {  
cells[temp1][temp2][temp3] = [];  
}  
cells[temp1][temp2][temp3].push([coords,up[i].split(" ")]);
Viele Grüße Novi
Grüße,
danke, häte daran denken sollen - wird im moment so gelöst:
  
var cells=[];  
		for(var x=0; x<14; x++){  
			cells[x]=[];  
				for(var y=0;y<10;y++){  
					cells[x][y]=[];  
						for(var z=0;z<100;z++){  
							cells[x][y][z]=[];  
						}  
				}  
		}  
saubere möglichkeiten in sich?
MFG
bleicher