🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
2 messages
2 total messages Started by KaO Sun, 06 Jun 2010 20:06
Cięcie tablicy wielowymiarowej
#50128
Author: KaO
Date: Sun, 06 Jun 2010 20:06
66 lines
3516 bytes
Witam
Nie znalazłem odpowiedzi na różnych forach i pozostało mi liczyć na
Waszą pomoc.

Siedzę od kilku godzin i mam dość tego wydawało by się prostego
zadania
a mianowicie:
Mam tablicę wielowymiarową z liczbami i chciałbym na niej zrobić dwa
cięcia:
- pierwsze to wyciąć pierwszy wiersz i zrobić z niego tablicę 1
wymiarową bez pierwszego elementu,
- drugie to wyciąć pierwszą kolumnę i zrobić z niej tablicę 1
wymiarową.
Ostania rzecz to po tych cięciach tablicę jaką otrzymaliśmy (bez
wiersza i kolumny) zapisać jako nową tablicę wielowymiarową
Oto kod:
<code>
var tabData = [
          [0,1000,2000,3000,4000,5000,10000],
          [12,101,202,    303,    506,    1012,    0],
          [24,54,109,    164,    274,    548,    823],
          [36,39,79,    118,    197,    395,    593],
          [48,32,64,    96,    160,    320,    480],
          [60,27,55,    82,    137,    275,    413],
          [72,24,49,    73,    123,    246,    369],
          [84,22,45,    67,    113,    226,339],
          [96,21,42,63,105,211,317] ];

       tabRowOne=tabData.length-1;
       tabColOne=tabData[0].length-1;

        for (i=0; i<=tabRowOne; i++) document.writeln("["+tabData[i]
+"]<br />");
        // Split array
        // and create valCredit
        tabRowTemp = tabRowOne - 1;
        var tabSplitOne = new Array(tabRowTemp);
        for (i=0; i<=tabRowOne; i++) {
        n = i-1;
         if (i > 0)  tabSplitOne[n] = tabData[i];
           else var valCredit = tabData[i].splice(1,tabData.length);
        }

        document.writeln("usuwanie wiersza:"+valCredit+"<br />");
        for (i=0; i<=tabRowTemp; i++)
document.writeln("["+tabSplitOne[i]+"]<br />");

        // and create valMonth
        var tabSplitTwo = new Array(tabRowTemp);

        for (i=0; i<=tabRowOne; i++) {
          tabSplitTwo[i] =
tabSplitOne[i].splice(1,tabSplitOne[i].length);
          //tu będzie jeszcze tworzenie nowej tab
        }
        for (i=0; i<=tabRowOne; i++)
document.writeln("["+tabSplitTwo[i]+"]<br />");
</code>
I teraz pierwszą rzecz zrobiłem, ale przy drugiej FF w konsoli
pokazuje mi: Błąd: tabSplitOne[i] is undefined, Wiersz:
<code>
tabSplitTwo[i] = tabSplitOne[i].splice(1,tabSplitOne[i].length);
</code>
ale nie kumam czemu !
Pomocy
Pozdr.
Re: Cięcie tablicy wielowymiarowej
#50129
Author: szomiz
Date: Sun, 11 Jul 2010 12:29
20 lines
1671 bytes
"KaO" <daniel.piatkowski@gmail.com> wrote in message 
news:d279bb71-94ec-4fd7-8c20-3716fe7a3916@j8g2000yqd.googlegroups.com...

> Siedzę od kilku godzin i mam dość tego wydawało by się prostego
> zadania a mianowicie

Bo zadanie jest dziwnie sformuowane.

Najpierw trzeba zrobic rzecz druga:

    for(vak k=0;k<tab.length;k++)
        res2.push(tab[k].shitf());

Nastepnie rzecz pierwsza:

    res1=tab.shift();

I w tab zostaje to co ma zostac.

sz. 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads