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 e folosit pentru a adauga liste cu definitii in element <dl>?
<dt> <dd> <li>
<dl>
 <dt>HTML</dt>
  <dd> - Hyper Text Markup Language</dd>
  <dd> - Limbaj de cod pentru pagini web</dd>
</dl>
Care proprietate CSS poate sa ascunda un element in pagina, lasand spatiu gol in locul lui?
display position visibility
#id {
  visibility: hidden;
}
Indicati evenimentul declansat cand se apasa clic pe un obiect in pagina.
onclick onmouseover onfocus
document.getElementById("id").onclick = function(){
  alert("http://www.MarPlo.net/");
}
Indicati variabila PHP ce contine datele din $_GET, $_POST si $_COOKIE.
$_SESSION $_GET $_REQUEST
if(isset($_REQUEST["id"])) {
  echo $_REQUEST["id"];
}
Care din urmatoarele cuvinte reprezinta un Verb?
lighting believe path
I believe in my path.
- Eu cred in calea mea.
Care din urmatoarele cuvinte reprezinta un Verb?
creer camino iluminaciĆ³n
creer = a crede; camino = cale /drum; iluminaciĆ³n = iluminare
Array - Lucru cu functii

Last accessed pages

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (56126)
  2. Definire Variabile si Constante (1320)
  3. Download carti electronice si programe pentru Limba Engleza (17559)
  4. Verbe modale - Modal verbs - CAN, COULD, MAY, MIGHT, MUST (27406)
  5. Prezentul simplu si continuu - Present Tense Simple and Continuous (52768)

Popular pages this month

  1. Prezentul simplu si continuu - Present Tense Simple and Continuous (3734)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (3481)
  3. Gramatica limbii engleze - Prezentare Generala (2830)
  4. Prezent perfect si Prezent perfect continuu - Present perfect and Continuous (2411)
  5. Trecutul simplu si continuu - Past Tense Simple and Continuous (2027)