Array: método slice |
El método slice (traducido al castellano: trozo) retorna un trozo del vector. La sintaxis es:
vec.slice(2,4);
El primer parámetro indica a partir de que elementos debe retornar y el segundo parámetro hasta cual elemento (sin incluir dicha posición)
El método slice no modifica el vector original, sino que retorna otro vector con las componentes indicadas.
Veamos con un ejemplo el empleo del método slice:
<html> <head> </head> <body> <script type="text/javascript"> var vec=[10,20,30,40,50,60]; document.write('Vector original<br>'); var f; for(f=0;f<vec.length;f++) { document.write(vec[f]+'-'); } document.write('<br>'); var vec2=vec.slice(1,4); document.write('Vector resultante de la llamada a slice<br>'); for(f=0;f<vec2.length;f++) { document.write(vec2[f]+'-'); } </script> </body> </html>
Estamos indicando en el método slice que retorne un nuevo vector a partir del elemento de la posición 1 hasta la posición 4 sin incluirla. El vector original (es decir vec) no se modifica con la llamada al método slice. El resultado de la ejecución de este programa es:
Vector original 10-20-30-40-50-60- Vector resultante de la llamada a slice 20-30-40-
Otras variantes que podemos emplear con el método slice:
var vec=[10,20,30,40,50,60]; var vec2=vec.slice(2); // vec2 almacena [30,40,50,60]
var vec=[10,20,30,40,50,60]; var vec2=vec.slice(-2); // vec2 almacena [50,60]También podemos indicar el segundo parámetro:
var vec=[10,20,30,40,50,60]; var vec2=vec.slice(-3,-1); // vec2 almacena [40,50]
var vec=[10,20,30,40,50,60]; var vec2=vec.slice(1,-1); // vec2 almacena [20,30,40,50]