Jump to content
php.lv forumi

Recommended Posts

Posted

Izveidoju masīvu, kurā katrai rindai ir ~ 76 savi elementi tad arī kuriem piešķiru vērtības. Vēlāk katras rindas elementus savienu caur komatu un rakstu failā. Doma tam visam tāda, lai ētāk varētu piešķirt vērtības un tas viss būtu pārskatāmaks un saprotamāks.

 

<html>
<head>
 <title>Array</title>		
<script>	
	var a = new Array();
	for (var i = 0; i < 5; i++) {
	  a[i] = new Array();
	  for (var j = 0; j < 76; j++) {
		a[i][0] = "viens";
		a[i][1] = "divi";
		a[i][2] = "tris";
		a[i][3] = "cetri";
		a[i][4] = "pieci";
		a[i][5] = "sesi";
		a[i][6] = "septini";
		a[i][7] = "astoni";
		a[i][8] = "devini";
		a[i][9] = "desmit";
		a[i][10] = "vienpadsmit";
		a[i][11] = "divpadsmit";
		a[i][12] = "trispadsmit";
		a[i][13] = "ceturpadsmit";
		a[i][14] = "piedpadsmit";
	  }
	}

	var fso = new ActiveXObject("Scripting.FileSystemObject");
	var s = fso.CreateTextFile("C:\\Test.txt", true);
	for (var i = 0; i < 5; i++) {
	  document.write('<br>');
	  //s.WriteLine('\n');				  
	  for (var j = 0; j < 76; j++) {
		document.write(a[i][j]+',');
		var string = a[i][0]+','+a[i][1]+','+a[i][2]+','+a[i][3]+','+a[i][4]+','+a[i][5]+','+a[i][6]+','+a[i][7]+','+a[i][8]+','+a[i][9]+','+a[i][10]+',';
		s.WriteLine(string);
	  }
	}
	s.Close();		
	</script>
</head>	
<body>		
</body>
</html>

Posted

Pirmkārt, document.write nevar likt head daļa. To jāliek body

saīsināts kods izskatās apmēram šitāds

 

Nezinu tikai par to activexobject vai darbojas.

Posted (edited)

es tā nevaru ... nekas nesanāks, jo ir pirmā rinda, tai pirmajai rindai vajag vēl elementus klāt(lai ērtāk piešķirt vērtības). Javascriptā ir tā ka nav tādā kā multi dimensiju masīva tāpēc iekš masīva jātaisa vēl vienu masīvu, kuru savu kārt vairs nevar sadžonoit! Tāpec nākas likt visus masīva elementus kopā.

 

Šādi tomēr man labāk ir saprotams. Un vieglāk būs veikt nākamo uzdevumu, kur no HTML tabulas tajos a[j] jāsaliek būs vērtības pa vietām.

 

<body>
<script type="text/javascript">
var a = [], i, j, l, string;
for (i = 0; i < 5; ++i) {
	a[i] = [];
	for (var j = 0; j < 76; j++) {
		a[i][0] = "viens";
		a[i][1] = "divi";
		a[i][2] = "tris";
		a[i][3] = "cetri";
		a[i][4] = "pieci";
		a[i][5] = "sesi";
		a[i][6] = "septini";
		a[i][7] = "astoni";
		a[i][8] = "devini";
		a[i][9] = "desmit";
		a[i][10] = "vienpadsmit";
		a[i][11] = "divpadsmit";
		a[i][12] = "trispadsmit";
		a[i][13] = "ceturpadsmit";
		a[i][14] = "piedpadsmit";
	  }
}

 var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile("C:\\Test.txt", true);
for (i = 0; i < 5; ++i) {
  document.write('<br>');						 
	string = a[i].join(',');
	document.write(string);
	s.WriteLine(string);
}
s.Close();	
</script>
</body>

Edited by Sasa
Posted
tāpēc iekš masīva jātaisa vēl vienu masīvu, kuru savu kārt vairs nevar sadžonoit!

Ko tad tavuprāt tu dari šeit?

string = a[i].join(',');

Tur tu tieši džoino masīvu, kas ir iekš masīva. Kāpēc gan lai to nevarētu?

Tas tak tieši ir tas, ko savā kodā rakstīju - kā smuki sadžoinot masīva elementus atdalītus ar kautkādu stringu (tavā gadījumā - komatu).

Posted (edited)

nesaprotu vienu kapē man failā ierakstās pāri 300 rindiņām ... cik saprotu vajadzētu ierakstīties kādām 5 tikai?

Uz ekrāna izvadās takš tikai 5, bet failā ir pavisam cits skats, kam lai tic?

 

Izlaboju pagaidām viss notiekas kā tam vajadzētu notikties.

bij tā

for (i = 0; i < 5; ++i)

 

tagad ir tā

for (i = 0; i < 5; i++)

Edited by Sasa
Posted

Kāda jēga ir no šitā?

for (var j = 0; j < 76; j++) {
		a[i][0] = "viens";
...

76 reizes pārraksti masīva datus, neko nemainot katrā reizē.

Posted
Izlaboju pagaidām viss notiekas kā tam vajadzētu notikties.

bij tā

for (i = 0; i < 5; ++i)

 

tagad ir tā

for (i = 0; i < 5; i++)

 

Šī noteikti nebija tava problēma, t.i. šī izmaiņa it nemaz neietekmē rezultātu.

Posted

Nu bet tāpēc, ka tev nav. Netici - pamēģini pats. Pamaini savā strādājošā kodā i++ uz ++i un neko citu neaiztiec. Ja tas for cikls ir tieši tāds, kādu tu te to uzrakstīji, tad esmu gatavs saderēt, ka nekas nemainīsies - kods joprojām strādās.

×
×
  • Create New...