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
Ce tag adauga imagine in pagina web?
<div> <img> <span>
<img src="http://coursesweb.net/imgs/webcourses.gif" width="191" height="63" alt="Courses-Web" />
Care din aceste coduri CSS afiseaza textul inclinat?
font-style: italic; text-decoration: underline; font-weight: 500;
#id {
  font-style: italic;
}
Clic pe functia jQuery care ascunde animat un element HTML.
click() hide() show()
$(document).ready(function() {
  $(".a_class").click(function(){ $(this).hide("slow"); });
});
Clic pe functia definita corect in PHP.
fname function() {} function fname() {} function $fname() {};
function fname($a, $b) {
  echo $a * $b;
}
Indicati forma pentru Prezent Perfect Continuu a verbului "to walk" (a merge).
have walked have been walking be walking
I have been walking for 5 hours.
- Merg pe jos de 5 ore.
Indicati Trecutul Nedefinit pentru verbul "ser" (a fi) la forma Yo.
será sería fui
Yo fui entrenador.
- Am fost antrenor.
Array - Lucru cu functii

Last accessed pages

  1. Accentul si Pronuntia (27427)
  2. Proverbe, expresii si zicatori (23261)
  3. Liste HTML - UL, OL (10635)
  4. Verbe reflexive 1 (10796)
  5. Functii predefinite si Coduri PHP (3074)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1358)
  2. Exercitii engleza - English Tests and exercises - Grammar (1085)
  3. Prezentul simplu si continuu - Present Tense Simple and Continuous (1079)
  4. Gramatica limbii engleze - Prezentare Generala (1030)
  5. Prezentul simplu - Exercitii si teste incepatori (887)