Sasa Posted January 3, 2009 Report Share Posted January 3, 2009 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 More sharing options...
indoom Posted January 3, 2009 Report Share Posted January 3, 2009 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. Link to comment Share on other sites More sharing options...
bubu Posted January 3, 2009 Report Share Posted January 3, 2009 Sasa, vai tu maz lasi, ko tev citi raksta? Es iepriekš tev uzrakstīju kā smuki īsā veidā ar komatu atdalītas vērtības apvienot stringā: http://www.boot.lv/forums/index.php?s=&...t&p=1135817 Link to comment Share on other sites More sharing options...
Sasa Posted January 3, 2009 Author Report Share Posted January 3, 2009 (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 January 3, 2009 by Sasa Link to comment Share on other sites More sharing options...
bubu Posted January 3, 2009 Report Share Posted January 3, 2009 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 More sharing options...
Sasa Posted January 3, 2009 Author Report Share Posted January 3, 2009 (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 January 3, 2009 by Sasa Link to comment Share on other sites More sharing options...
indoom Posted January 3, 2009 Report Share Posted January 3, 2009 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ē. Link to comment Share on other sites More sharing options...
Sasa Posted January 3, 2009 Author Report Share Posted January 3, 2009 Jēgas no tā nebija nekādas. :) Link to comment Share on other sites More sharing options...
bubu Posted January 3, 2009 Report Share Posted January 3, 2009 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 More sharing options...
Sasa Posted January 3, 2009 Author Report Share Posted January 3, 2009 kapēc nekad man nav taisnības, kāds ierodās un apstrīd! :) Link to comment Share on other sites More sharing options...
bubu Posted January 3, 2009 Report Share Posted January 3, 2009 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 More sharing options...
Recommended Posts