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);
Resultado en la consola
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);
Resultado en la consola
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);
Resultado en la consola
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);
Resultado en la consola
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);
Resultado en la consola
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.");
}
Resultado en la consola
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
.