Curs Flash

ActionScript 3 contine numeroase functii pentru lucrul cu Array. In aceasta lectie vor fi prezentate cateva din aceste functii si exemple despre ce se poate face cu ele.

1. Stergere elemente din Array

In ActionScript 3 sunt mai multe moduri de a sterge unul sau mai multe elemente dintr-un Array, folosind diferite functii. Acestea sunt prezentate direct in exemplele urmatoare (explicatiile necesare sunt in comentariile din coduri):


1. Cu operatorul delete
          Sintaxa generala:
                  delete numeAr[index]
          - "numeAr" este numele Array-ului, iar "index" este indicele sau numele elementului a carui valoare va fi stearsa (sterge valoarea, nu si elementul).
      Exemplu:
var mAr:Array = ['web', 'marplo.net', 'cursuri', 8];
delete mAr[1];              // Sterge valoarea elementului al doilea
var nr_el:uint = mAr.length;     // Aflare nr. elemente dupa stergere

// Verificare cu "trace()"
trace(nr_el+ ' - '+ mAr);          // 4 - web,,cursuri,8
- Dupa cum se vede in rezultatul dat de "trace(nr_el+ ' - '+ mAr);", operatorul delete sterge doar valoarea elementului, acesta ramane gol in Array.

2. Cu metoda pop()
          Sintaxa generala:
                  numeAr.pop()
          - metoda (functia) "pop()" sterge ultimul element din Array-ul "numeAr" (opusul lui "push()", care adauga un element la sfarsit), si returneaza valoarea lui.
      Exemplu:
var mAr:Array = ['web', 'marplo.net', 'cursuri', 8];
var del_ar:* = mAr.pop();           // Sterge ultimul element, si-i adauga valoarea in "del_ar"
var nr_el:uint = mAr.length;        // Aflare nr. elemente dupa stergere

// Verificare cu "trace()" ("del_ar" si elemente din "mAr")
trace(del_ar);                     // 8
trace(nr_el+ ' - '+ mAr);          // 3 - web,marplo.net,cursuri

3. Cu metoda shift()
          Sintaxa generala:
                  numeAr.shift()
          - metoda (functia) "shift()" sterge primul element din Array-ul "numeAr" (opusul lui "unshift()", care adauga un element la inceput), si returneaza valoarea lui.
      Exemplu:
var mAr:Array = ['web', 'marplo.net', 'cursuri', 8];
var del_ar:* = mAr.shift();        // Sterge primul element, si-i adauga valoarea in "del_ar"
var nr_el:uint = mAr.length;       // Aflare nr. elemente dupa stergere

// Verificare cu "trace()" ("del_ar" si elemente din "mAr")
trace(del_ar);                     // web
trace(nr_el+ ' - '+ mAr);          // 3 - marplo.net,cursuri,8

4. Cu metoda splice()
          Sintaxa generala:
                  numeAr.splice(startIndex, nrElm)
          - metoda (functia) "splice()" sterge din "numeAr" un anumit numar de elemente, specificat la "nrElm", incepand cu cel al carui index e specificat la "startIndex".
          - "nrElm" este optional, daca nu e adaugat, functia va sterge toate elementele incepand cu cel de la "startIndex" (inclusiv) pana la sfarsit.
          - Dupa stergere, "splice()", reordoneaza indicii elementelor ramase.
      Exemplu:
var mAr:Array = ['web', 'marplo.net', 'cursuri', 8];
mAr.splice(1, 2);        // Sterge doua elemente, incepand cu cel care are index 1
var nr_el:uint = mAr.length;       // Aflare nr. elemente dupa stergere

// Verificare cu "trace()"
trace(nr_el+ ' - '+ mAr);          // 2 - web,8

Functia "splice()" poate fi utilizata pentru stergere si /sau pentru adaugare elemente in Array. Formula completa fiind:
          numeAr.splice(startIndex, nrElm, elm1, elm2, ...)
- Unde "elm1, elm2, ..." sunt elementele ce vor fi adaugate dupa efectuarea stergerii.
- Daca la "nrElm" se da valoarea 0, functia va efectua doar adaugarea elementelor, dupa cel specificat la "startIndex".

2. Ordonare Array

Ordinea elementelor dintr-un Array poate fi schimbata cu anumite functii specifice. Ordinea este importanta mai ales cand matricea este parcursa cu o instructiune repetitiva.


- reverse() - inverseaza ordinea elementelor.
      Exemplu:
var mAr:Array = ['web', 'marplo.net', 'cursuri', 8];
mAr.reverse();        // Inverseaza ordinea, ultimul devine primul

// Verificare cu "trace()"
trace(mAr);          // 8,cursuri,marplo.net,web

- sort(Array.ARG) - "Array.ARG" este optional, daca nu e specificat, aranjeaza elementele in ordine alfabetica, case-sensitive (adica, numerele inaintea literelor si "Z" precede "a").
          - In loc de "ARG" se poate adauga:

Pot fi aplicate mai multe argumente in acelasi timp, dupa formula:
            sort(Array.ARG1 | Array.ARG2)

      Exemplu:
var mAr:Array = ['Web', 'marplo.net', 'cursuri', 8];
mAr.sort();        // Aranjeaza in ordine alfabetica, case-sensitive

// Verificare cu "trace()"
trace(mAr);          // 8,Web,cursuri,marplo.net

// Modifica ordonarea, folosind ca argument "DESCENDING" (ordonare invers alfabetic)
mAr.sort(Array.DESCENDING);
trace(mAr);          // marplo.net,cursuri,Web,8

3. Alte metode (functii) pentru lucru cu Array

Iata alte cateva metode ActionScript 3 pentru lucru cu Array.


- join(sep) - transforma matricea (grupeaza elementele) in sir. Elementele fiind separate prin ceea ce se specifica la "sep" (precum "implode()" in PHP).
      Exemplu:
var mAr:Array = ['web', 'marplo.net', 'cursuri', 8];
var sir:String = mAr.join(' - ');        // Transforma "mAr" in sir, adaugat in "sir"

// Verificare cu "trace()" valoarea lui "sir"
trace(sir);          // web - marplo.net - cursuri - 8

- concat(val1, val2) - Uneste mai multe Array si elemente intr-un singur Array. "val1", "val2" pot fi variabile simple sau /si Array.
      Exemplu:
var mAr:Array = ['web', 'marplo.net', 'cursuri'];

// Creaza un Array "arr2" format din "mAr" la care adauga cu "concat()" 2 elemente
var arr2:Array = mAr.concat(7, 8);

// Verificare cu "trace()" elementele din "arr2"
trace(arr2);          // web,marplo.net,cursuri,7,8

var arr3:Array = [9, 10];               // Un alt Array
var finAr:Array = arr2.concat(arr3, 'abc');       // Adauga in "finAr" elementele din "arr2", "arr3" si 'abc'

// Verificare cu "trace()" elementele din "finAr"
trace(finAr);          // web,marplo.net,cursuri,7,8,9,10,abc

- push(val1, val2) - Adauga argumentele "val1", "val2", ... intr-un Array, la sfarsit, in ordine dupa cele deja existente. "val1, "val2", ... pot fi variabile simple sau /si Array.
      Exemplu:
var mAr:Array = ['web', 'marplo.net', 'cursuri'];
mAr.push(7, 8);          // Adauga 7 si 8 in "mAr", la urma

// Verificare cu "trace()"
trace(mAr);          // web,marplo.net,cursuri,7,8

- unshift(val1, val2) - Adauga argumentele "val1", "val2", ... intr-un Array, la inceput, in ordine, inaintea celor deja existente. "val1, "val2", ... pot fi variabile simple sau /si Array.
      Exemplu:
var mAr:Array = ['web', 'marplo.net', 'cursuri'];
mAr.unshift(7, 8);          // Adauga 7 si 8 in "mAr", la inceput

// Verificare cu "trace()"
trace(mAr);          // 7,8,web,marplo.net,cursuri

- slice(startIndex, endIndex) - Preia un sub-Array cu un numar de elemente dintr-un Array, incepand de la elementul cu index "startIndex" (inclusiv) pana la cel cu indice "endIndex" (dar fara acesta), (daca "startIndex" are valoare negativa, numaratoarea incepe de la sfarsit).
      Exemplu:
var mAr:Array = ['web', 'marplo.net', 'cursuri', 7, 8];
var subAr:Array = mAr.slice(1, 3);          // Preia in "subAr" elementele de la index 1 pana la index 3

// Verificare cu "trace(subAr)"
trace(subAr);          // marplo.net,cursuri

- map(functie) - Aplica o functie (specificata la argument) la fiecare element dintr-un Array (precum "array_map() din PHP).
      Exemplu:
// Definire functie care v-a fi aplicata elementelor unui Array
function oFunctie(elm:*, i:int, a:Array):Number
{
  return elm*elm;          // Returneaza elementul la puterea 2
}

var mAr:Array = [5, 6, 7, 8];

// Aplica functia "oFunctie" la elementele din "mAr"
// Stocheaza rezultatul (noul Array) in "mAr2"
var mAr2:Array = mAr.map(oFunctie);

// Verificare cu "trace()"
trace(mAr2);          // 25,36,49,64

- Sunt si alte functii pentru lucru cu Array in ActionScript 3; o lista si exemple cu acestea gasiti la pagina oficiala de pe site-ul de suport Adobe: Functii Array - AS3.

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Care tag adauga rand nou in paragraf?
<b> <br> <p>
Prima linie ...<br>
Alta linie...
Ce proprietate CSS seteaza spatiu dintre litere?
text-size word-spacing letter-spacing
#id {
  letter-spacing: 2px;
}
Ce functie obtine accesul la un element HTML cu un anumit ID?
getElementById() getElementsByTagName() createElement()
var elm = document.getElementById("theID");
var content = elm.innerHTML;
alert(content);
Clic pe instructiunea "echo" utilizata corect.
echo "CoursesWeb.net" echo "CoursesWeb.net"; echo ""CoursesWeb.net";
echo "Adresa URL: http://CoursesWeb.net";
Care din urmatoarele expresii cu "paint" (a picta) se foloseste pentru forma Negativa?
will paint not paint have painted
She does not paint that landscape.
- Ea nu picteaza acel peisaj.
Care din urmatoarele expresii cu "cantar" (a canta) se foloseste pentru propozitie Negativa?
ir a cantar cantaba no cantar
Ella no canta esa canciĆ³n.
- Ea nu canta acel cantec.
Array - Lucru cu functii

Last accessed pages

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (269997)
  2. Verbe modale - SHALL, SHOULD, OUGHT TO, WILL, WOULD, USED TO, BE TO, DARE (33195)
  3. Accentul si Pronuntia (27627)
  4. Verbe modale - Modal verbs - CAN, COULD, MAY, MIGHT, MUST (66767)
  5. Prezentul simplu - Exercitii si teste incepatori (68696)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1036)
  2. Gramatica limbii engleze - Prezentare Generala (654)
  3. Exercitii engleza - English Tests and exercises - Grammar (594)
  4. Prezentul simplu si continuu - Present Tense Simple and Continuous (474)
  5. Coduri pt culori (395)