Jump to content
php.lv forumi

Problemas ar masiva palielinasanu!


bublik
 Share

Recommended Posts

Es nodefineju masivu

var x=new Array();

 

Pectam man vajag lai izpildoties funkcijai x['aaa'] mainigais pieskaititu sev klat 1 ( x['aaa']++ )

Bet problema ir tada ka vins rada ka ir nedefinets, ja es vinam pirmstam nepieskiru vertibu!!

 

Ka var izlabot so problemu ? Es nevaru vinam pirmstam pieskirt vertibu jo es vel nezinu kads man bus KEY elements masivam, ('aaa')!

Vai kads var palidzet?

Link to comment
Share on other sites

x['aaa'] ir funkcija ?

 

Bet ja pareizi sapratu, tad:

 

<script>
x = new Array();
x['aaa'] = 0;
x['aaa'] ++;
alert(x['aaa']);
</script>

 

Lai izmantot ++ vai -- operātoru, tad mainīgajam jābūt obligāti definētam. Jo kā tad savādāk JS zinās kādai vērtībai pieskaitīt vai atņemt to vienu vienību ?

Edited by andrisp
Link to comment
Share on other sites

Tas ir kā ?

Visām iespējamajām kombinācijām ? Diezgan neiespējami. Vienīgi iekš javascript bija man šķiet iespējams pārakstīt iebūvēto fju vai klašu kodu, bet tādā veidā tikai lielākos sūdos iebrauksi.

 

Dari šādi:

if (typeof(x['aaa']) === 'undefined') { x['aaa'] = 0; }

 

Šo kodu liec tieši pirms x['aaa']++.

 

Tikai atceries, ka x ir jābūt definētam.

Link to comment
Share on other sites

Dari šādi:

if (typeof(x['aaa']) === 'undefined') { x['aaa'] = 0; }

Ja Tev tas x['aaa']++ ir iekš cikla, kas izpildās daudzas reizes un 'aaa' daudzreiz mainās, tad labāk šitā (jābūt ātrāk nedaudz):

if(typeof(x['aaa']) === 'undefined') {x['aaa'] = 1;} else {x['aaa']++;}

nevis

if(typeof(x['aaa']) === 'undefined') {x['aaa'] = 0;}
x['aaa']++;

Link to comment
Share on other sites

nu ja visi, tad es a! dari varbūt šitā.. http://paste.php.lv/5349

 

nevis

 

Ja Tev tas x['aaa']++ ir iekš cikla, kas izpildās daudzas reizes un 'aaa' daudzreiz mainās, tad labāk šitā (jābūt ātrāk nedaudz):

if(typeof(x['aaa']) === 'undefined') {x['aaa'] = 1;} else {x['aaa']++;}

nevis

if(typeof(x['aaa']) === 'undefined') {x['aaa'] = 0;}
x['aaa']++;

 

 

:D

Edited by v3rb0
Link to comment
Share on other sites

 Share

×
×
  • Create New...