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 atribut poate fi utilizat pentru a adauga stiluri CSS direct in tag-ul HTML?
type style class
<div style="width: 80%; border: 3px solid #888888;">Continut</div>
Care din metodele proprietatii CSS transform distorsioneaza elementul HTML la un anumit unghi (inclusiv continutul lui)?
translate() scale() skew()
#un_id {
  transform: skew(20deg, 25deg);
  -ms-transform: skew(20deg, 25deg);   /* IE 9 */
  -webkit-transform: skew(20deg, 25deg);   /* Safari and Chrome */
}
Clic pe functia care poate converti un obiect Date in Sir.
indexOf() toString() getDate()
var rightnow = new Date();
alert( rightnow.toString() );
Care functie aplica o alta functie la elementele unui array?
array_merge() array_search() array_map()
$arr = arra("abc", "<p>xyz</p>", "<em>PHP</em>");
// aplica functia strip_tags() ca sa stearga tag-urile HTML din fiecare element din %arr
$arr = array_map("strip_tags", $arr);
}
Cum se spune "sambata" in limba engleza?
Sunday Saturday Monday
On Saturday I visit my grandparents.
- Sambata imi vizitez bunicii.
Cum se spune "sambata" in limba spaniola?
domingo lunes sábado
Sábado visito mis abuelos.
- Sambata imi vizitez bunicii.
Array - Lucru cu functii

Last accessed pages

  1. Numere cardinale 1-10 (4644)
  2. Gramatica limbii spaniole. Indrumator si prezentare generala (64527)
  3. Genul substantivelor 2 (6611)
  4. Limba spaniola curs online incepatori si avansati (26880)
  5. Trecut nedefinit (2314)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (357)
  2. Curs HTML gratuit Tutoriale HTML5 (231)
  3. Coduri pt culori (161)
  4. Gramatica limbii engleze - Prezentare Generala (104)
  5. Creare si editare pagini HTML (96)
Chat
Discuta sau lasa un mesaj pt. ceilalti utilizatori
Full screenInchide