| JavaScript | ||
| ← Volver aOperadores | Array | Seguir conBoolean → |
O obxectoArray refírese a unha lista de datos, sexan do tipo que sexan. É útil para gardar un conxunto de datos ordenados que teñen relación entre si. Hai varios xeitos de crealos, e de asignar valor aos seus índices. Ademais pódense aniñar creando estruturas de árbore complexas.
Para crear arrays pódese facer destes xeitos:
nome_array=newArray(lonxitude);nome_array=newArray(elemento1,elemento2,...,elementok);nome_array=[];nome_array=[elemento1,elemento2,...,elementok];
Para acceder a un elemento do array podemos facelo así:
alert(nome_array[índice]);
Onde índice será o número de elemento ao que queiramos acceder. Hai que ter en conta que os elementos empezan a contarse desde cero, é dicir, o primeiro elemento é nome_array[0], o segundo nome_array[1] e así sucesivamente.
Os arrays non teñen porqué ser dun só tipo; un array con moitos valores de diferentes tipos sería igualmente válido:
meuarray=newArray("Ola","isto é","un","array",3.1416,cont);
Ademais un array pode almacenar moitos elementos. Se creamos un elemento no posto 87 crearanse automaticamente todos os valores anteriores que non estean definidos cun valor baleiro. Pódese estender todo o que se queira, pero non se pode empequeñecer nin codelete, así que hai que procurar facelos compactos para aforrar memoria.
Un array pode estar contido dentro doutro array, é dicir, pode ser un elemento doutro array alleo sen ningún problema:
vararray1=newArray("a ,""b","c","d");vararray2=newArray("plátano","pera","mazá","fresa");array1[4]=array2;
O elemento 4 de array1 é outro array. Para acceder ao elemento "pera" faremos:
array2[1];array1[4][1];
As dúas opcións son válidas.
Os arrays teñen como propiedade principal olength.
meuarray.length;
A propiedade length dun array devolve un enteiro co número de elementos que contén o array. Nótese que o número de elementos é o índice do último elemento máis unha unidade, e non o índice do último elemento.
A propiedade prototype téñena moitos obxectos en JavaScript. Serve para crear métodos e propiedades dos arrays genéricamente. Por se a linguaxe quédallenos curto. Poderiamos implementar un método inexistente e propio para, por exemplo, alertar o contido dun array:
vararray1=newArray("a ,""b","c","d");vararray2=newArray("plátano","pera","mazá","fresa");array1[4]=array2;Array.prototype.alertar=function(){alert(this.toString());}array1.alertar();array2.alertar();
Así, genéricamente, todos os obxectos Array do noso script estarían dotados do método alertar().
varmeuarray=newArray("plátano","pera","mazá","amorodo");document.write(meuarray.join(" e "));//plátano e pera e mazá e amorodo
varmeuarray=newArray("plátano","pera","mazá","amorodo");varstr=meuarray.toString();//plátano, pera, mazá, amorodo
varmeuarray=newArray("plátano","pera","mazá","amorodo");varlong1=meuarray.length;// long1=4varultimo=meuarray.pop();// ultimo="amorodo"varlong2=meuarray.length;// long2=3
varmeuarray=newArray("plátano","pera","mazá","amorodo");varlong1=meuarray.length;// long1=4varprimeiro=meuarray.shift();// primeiro="plátano"varlong2=meuarray.length;// long2=3
varmeuarray=newArray("plátano","pera","mazá","amorodo");varlong1=meuarray.length;// long1=4varnuevaLong=meuarray.push("sandía","melon","kiwi");//nuevaLong=7varlong2=meuarray.length;// long2=7
varmeuarray=newArray("plátano","pera","mazá","amorodo");varlong1=meuarray.length;// long1=4varnuevaLong=meuarray.unshift("sandía","melón","kiwi");//nuevaLong=7varlong2=meuarray.length;// long2=7
varmeuarray=newArray("plátano","pera","mazá","amorodo");varmeuarrayAlReves=meuarray.reverse();// meuarrayAlReves=["amorodo","mazá","pera","plátano"];
varmeuarray=newArray("plátano","pera","mazá","amorodo","uva","sandía","melón","kiwi");varmeuarray2=meuarray.slice(2,5);//mazá,fresa, uva
varmeuarray=newArray("plátano","pera","mazá","amorodo","uva","sandía","melón","kiwi");meuarray.splice(0,0,"laranxa","mandarina","pomelo");// meuarray=laranxa, mandarina, pomelo, plátano, pera, mazá, fresa, uva, sandía, melon, kiwivarelementoPera=meuarray.splice(4,1);// elementoPera=pera//meuarray=laranxa, mandarina, pomelo, plátano, mazá, fresa, uva, sandía, melon, kiwivarfresa_uva_sandia=meuarray.splice(5,3);// amorodo_uva_sandía=amorodo, uva, sandía//meuarray=laranxa, mandarina, pomelo, plátano, mazá, melón, kiwimeuarray.splice(2,3,"linguado","pescada","sardiña","xarda");//meuarray=laranxa, mandarina, linguado, pescada, sardiña, xarda, melón, kiwi
Para ordenar elementos existen outros algoritmos, algúns máis legibles outros máis eficaces: O Ordenamento por mestura, Ordenamento de burbulla, Shell sort e o Quicksort son algúns deles.
| JavaScript | ||
| ← Volver aOperadores | Array | Seguir conBoolean → |