Movatterモバイル変換


[0]ホーム

URL:


Saltar ao contido
Wikibooks
Procura

JavaScript/Array

En Galilibros, o Wikibooks en galego.
<JavaScript
JavaScript
← Volver aOperadoresArraySeguir 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.

Como aniñar arrays

[editar]

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.

Propiedades dos arrays

[editar]

length

[editar]

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.

prototype

[editar]

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().

Métodos dos arrays

[editar]
  • join(elemento_enlace): Este método devolve un string resultado da unión de todos os elementos do array intercalando entre eles o stringelemento_enlace.
varmeuarray=newArray("plátano","pera","mazá","amorodo");document.write(meuarray.join(" e "));//plátano e pera e mazá e amorodo
  • toString(): Devolve unstring de todos os elementos separados por comas. É equivalente a un join(","), só que todos os obxectos en javascript teñen un métodotoString() asociado.
varmeuarray=newArray("plátano","pera","mazá","amorodo");varstr=meuarray.toString();//plátano, pera, mazá, amorodo
  • pop(): Elimina o último elemento do array e devolve ese elemento. Este método modifica a lonxitude total do array, así que hai que ter precaución con el en bucles ou repeticións.
varmeuarray=newArray("plátano","pera","mazá","amorodo");varlong1=meuarray.length;// long1=4varultimo=meuarray.pop();// ultimo="amorodo"varlong2=meuarray.length;// long2=3
  • shift(): É como o pop(), só que no canto de actuar no último elemento actúa no primeiro, devolvendo este elemento. Obviamente tamén modifica a lonxitude do array en cuestión.
varmeuarray=newArray("plátano","pera","mazá","amorodo");varlong1=meuarray.length;// long1=4varprimeiro=meuarray.shift();// primeiro="plátano"varlong2=meuarray.length;// long2=3
  • push(elemento1,elemento2,...,elementok): O método push engade os elementos pasados por parámetro ao final do array, e, xa que logo, modificando a súa lonxitude total. Devolve o total de elementos que resultan logo de engadir, coma se dunlength fixésemos despois.
varmeuarray=newArray("plátano","pera","mazá","amorodo");varlong1=meuarray.length;// long1=4varnuevaLong=meuarray.push("sandía","melon","kiwi");//nuevaLong=7varlong2=meuarray.length;// long2=7
  • unshift(elemento1,elemento2,...,elementok): Igual que o push, só que engade os elementos especificados ao principio do array, e devolve a nova lonxitude do array.
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
  • reverse(): Inviste os índices dos elementos do array. O primeiro será o último e o último o primeiro; o segundo será o penúltimo e o penúltimo será o segundo; e así sucesivamente.
varmeuarray=newArray("plátano","pera","mazá","amorodo");varmeuarrayAlReves=meuarray.reverse();// meuarrayAlReves=["amorodo","mazá","pera","plátano"];
  • slice(limite_inf,limite_sup): slice extrae (sen modificalo) unha porción do array orixinal. Asílimite_inf é o índice do primeiro elemento que se debe extraer elimite_sup é o índice do último elemento que se debe extraer máis unha unidade.
varmeuarray=newArray("plátano","pera","mazá","amorodo","uva","sandía","melón","kiwi");varmeuarray2=meuarray.slice(2,5);//mazá,fresa, uva
  • splice(indice_inicial,num_elementos[,elemento1,elemento2,...,elementok]): Este é probablemente o método máis complexo dos arrays. É capaz de eliminar elementos e de engadir novos elementos tamén. Modificará polo xeral a lonxitude do array (a non ser que engadamos o mesmo número de elementos que eliminemos).
    • indice_inicial: É un número enteiro que indica a partir de que elemento comezamos ou a borrar ou a inserir elementos no array.
    • num_elementos: É un número que indica cantos elementos do array eliminamos a partir deindice_inicial. Se é un 0 debemos especificar novos elementos obrigatoriamente e splice non devolve nada. Se é 1 splice devolverá ese elemento eliminado, e se é maior de 1 splice devolverá un array cos elementos eliminados.
    • elemento1,elemento2,...,elementok: Son os parámetros (opcionais) que especifican os novos elementos do array que se engadirán na posiciónindice_inicial.
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
  • sort([funcion_comparacion]): Un dos poucos métodos por defecto que recibe unha función como parámetro. Ordena o array segundo o criterio que conteñafuncion_comparacion. Podemos ordenar de menor a maior números, alfabeticamente letras... etc. O parámetro é opcional; por defecto sort() ordena de menor a maior e alfabeticamente, antepondo os números ás letras e as maiúsculas.
    • funcion_comparacion: É unha función que contén dous parámetros obrigados, que serán os elementos do array a comparar. Segundo o que devolva esta función, sort interpretase unha cousa ou outra:
      • funcion_comparacion(a, b)<0 --> a lt;b.&
      • funcion_comparacion(a, b)=0 --> a=b
      • funcion_comparacion(a, b)>0 --> a gt;b.&

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 aOperadoresArraySeguir conBoolean
Obtido de «https://gl.wikibooks.org/w/index.php?title=JavaScript/Array&oldid=16102»
Categorías:

[8]ページ先頭

©2009-2025 Movatter.jp