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 este element de tip bloc?
<div> <img> <span>
<div>Web Programming and Development</div>
Care cod CSS afiseaza textul subliniat?
font-style: italic; text-decoration: underline; font-weight: 500;
h2 {
  text-decoration: underline;
}
Clic pe functia JavaScript care apeleaza o alta functie dupa un anumit timp.
insertBefore() setTimeout() querySelector()
function someFunction() { alert("CoursesWeb.net"); }
setTimeout("someFunction()", 2000);
Clic pe instructiunea care returneaza numarul total de elemente dintr-un array asociativ.
count($array) count($array, 1) strlen()
$food =["fruits" =>["banana", "mar"), "veggie" =>["ceapa", "rosie"));
$nr_food = count($food, 1);
echo $nr_food;       // 6
Indicati Viitorul Perfect la negativ al verbului din paranteze, in propozitia: "The child (to not play) by Sunday".
has't played haven't been playing will haven't played
The child will haven't played by Sunday.
- Copilul nu s-ar fi jucat pana duminica.
Indicati Viitorul Perfect pentru verbul "contar" (a povesti) la forma "Él".
habrá contado va a contar contaba
Él no habrá contado el cuento.
- El nu ar fi spus povestea.
Array - Lucru cu functii

Last accessed pages

  1. Viitor 2 (431)
  2. Zilele saptamanii - Lunile anului - Anotimpurile - Engleza (28254)
  3. Viitoru (608)
  4. Creare efecte de miscare (809)
  5. Pronume relativ - que, quien, lo que (636)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (785)
  2. Exercitii engleza - English Tests and exercises - Grammar (354)
  3. Coduri pt culori (338)
  4. Gramatica limbii engleze - Prezentare Generala (326)
  5. Cursuri limba engleza gratuite si lectii online (321)