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.
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):
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.
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
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
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".
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.
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
Pot fi aplicate mai multe argumente in acelasi timp, dupa formula:
sort(Array.ARG1 | Array.ARG2)
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
Iata alte cateva metode ActionScript 3 pentru lucru cu Array.
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
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
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
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
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
// 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
<div>Web Programming and Development</div>
h2 { text-decoration: underline; }
function someFunction() { alert("CoursesWeb.net"); } setTimeout("someFunction()", 2000);
$food =["fruits" =>["banana", "mar"), "veggie" =>["ceapa", "rosie")); $nr_food = count($food, 1); echo $nr_food; // 6
The child will haven't played by Sunday. - Copilul nu s-ar fi jucat pana duminica.
Él no habrá contado el cuento. - El nu ar fi spus povestea.