El método slice() de String - Curso de JavaScript de cero a máster - Capítulo 44

En este capítulo seguimos con el manejo de los strings. En esta ocasión aprenderás a utilizar el método slice().

El método slice() de JavaScript

Palabra del lenguaje nº 57 encontrada.
slice() es un método del objeto String que devuelve un nuevo string a partir de un fragmento de otro.

Vamos a por unos ejemplos prácticos.

En el siguiente ejemplo, voy a utilizar un solo parámetro para slice().

Código JavaScript

let sitioWeb = "www.programacionfacil.org";

let fragmento = sitioWeb.slice(4);

console.log(fragmento);

terminal Resultado en la consola terminal

Con el valor 4 como parámetre para slice(), lo que hacemos es obtener todo el string excepto 4 primeros caracteres.

programacionfacil.org

Código JavaScript

let sitioWeb = "www.programacionfacil.org";

let fragmento = sitioWeb.slice(4,21);

console.log(fragmento);

terminal Resultado en la consola terminal

Con un segundo parámetro podemos hacer un rango de los caracteres que queremos obtener.

programacionfacil

Uso de posiciones negativas con slice()

Podemos utilizar posiciones negativas en slice().

Código JavaScript

let sitioWeb = "www.programacionfacil.org";

let fragmento = sitioWeb.slice(-4);

console.log(fragmento);

terminal Resultado en la consola terminal

De esta forma, obtenemos los caracteres empezando por detrás.

.org

También podemos utilizar una combinación de posición positiva y negativa para obtener el "centro" del string.

Código JavaScript

let sitioWeb = "www.programacionfacil.org";

let fragmento = sitioWeb.slice(4,-4);

console.log(fragmento);

terminal Resultado en la consola terminal

Con el primer parámetro, no obtenemos los 4 primeros caracteres (www.) y con el segundo, los últimos (.org).

programacionfacil

También podemos establecer un rango negativo:

Código JavaScript

let sitioWeb = "www.programacionfacil.org";

let fragmento = sitioWeb.slice(-21,-4);

console.log(fragmento);

terminal Resultado en la consola terminal

Con -21 solo, obtentríamos todo el string menos los 4 primeros caracteres (programacionfacil.org), piensa que empezamos del final al principio utilizando posiciones negativas. No obstante, si le añadimos el segundo parámetro negativo (-4), borramos los cuatro caracteres del final (.org).

programacionfacil

Controlar el máximo de caracteres con slice()

Hagamos un pequeño ejercicio de uso práctico de slice(). Vamos a crear una pequeña limitación de 20 caractares en la entrada de datos por parte del usuario. Le vamos a pedir el nombre completo pero con un límite bastante bajo. El código será capaz de avisarle en el caso de que se pase de ese límite.

Código JavaScript

let entrada = prompt("Dame tu nombre completo - Máximo 20 caracteres.");

let fragmento = entrada.slice(0,20);

if (fragmento.length >= entrada.length) {
console.log("Hola " + fragmento + ".");
} else {
	console.log(entrada + ", te dije que máximo 20 caracteres.");
}

terminal Resultado en la consola terminal

Introduzco el nombre "Enrique Barros Fernández". Este tiene más de 20 caracteres.

Enrique Barros Fernández, te dije que máximo 20 caracteres.

Ahora introduzco un nombre de menos de 20 caracteres, "Lidia Oviedo Vega".

Hola Lidia Oviedo Vega.

Supongo que sabes como funciona si has seguido el curso hasta aquí, pero por si no, en la expresión del if, dice que si fragmento (primeros 20 caracteres) es mayor o igual a la longitud de entrada, que se le salude. En cambio, cualquier otra longitud, ejecutará el else. Siempre que entrada sea menor o igual a 20, se ejecutará el if.