Jump to content
php.lv forumi

Vērtības pieškirt masīva elemetiem.


Sasa

Recommended Posts

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>

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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).

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

×
×
  • Create New...