elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Diferencia entre slice,substring y substr [javascript]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Diferencia entre slice,substring y substr [javascript]  (Leído 2,872 veces)
TØtti

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Diferencia entre slice,substring y substr [javascript]
« en: 26 Abril 2017, 14:27 pm »

Hola comunidad. Realmente no entiendo cual es la diferencia de esas tres funciones, que al parecer en la práctica funcionan igual (slice,substring,substr), pero lo dudo ya que por algo están. ¿Alguien me podría explicar?

Por cierto, el siguiente código no lo logro entender, yo sé para que sirve pero no como se ejecuta (tal vez por mi primera duda):

Código
  1. function reemplazarCadena(cadenaVieja, cadenaNueva, cadenaCompleta)
  2. {
  3. // Reemplaza cadenaVieja por cadenaNueva en cadenaCompleta
  4.  
  5.   for (var i = 0; i < cadenaCompleta.length; i++)
  6. {
  7.       if (cadenaCompleta.substring(i, i + cadenaVieja.length) == cadenaVieja)
  8. {
  9.  
  10.            cadenaCompleta =  cadenaCompleta.substring(0, i) + cadenaNueva + cadenaCompleta.substring(i + cadenaVieja.length, cadenaCompleta.length);
  11.       }
  12.   }
  13.   return cadenaCompleta;
  14. }
  15.  
  16.  
  17. //reemplazarCadena("Mundo", "Web", "Bravo Nuevo Mundo");

Gracias de antemano.



« Última modificación: 26 Abril 2017, 22:54 pm por TØtti » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Diferencia entre slice,substring y substr [javascript]
« Respuesta #1 en: 26 Abril 2017, 14:34 pm »

google te lleva a

https://developer.mozilla.org/es/docs/Web/javascript/Referencia/Objetos_globales/String/slice
https://developer.mozilla.org/es/docs/Web/javascript/Referencia/Objetos_globales/String/substring
https://developer.mozilla.org/es/docs/Web/javascript/Referencia/Objetos_globales/String/substr


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
TØtti

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Diferencia entre slice,substring y substr [javascript]
« Respuesta #2 en: 26 Abril 2017, 15:47 pm »


Hombre, si por algo encontré éste foro.

EL punto es que necesito otra explicación, a ver si algún buen samaritano se pasa.

En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Diferencia entre slice,substring y substr [javascript]
« Respuesta #3 en: 26 Abril 2017, 18:50 pm »

extiende tu pregunta, que no entiendes de ellos? XD porque simplemente te van a repetir lo que ya dicen los documentos
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: Diferencia entre slice,substring y substr [javascript]
« Respuesta #4 en: 26 Abril 2017, 21:09 pm »

slice y substring funcionan de manera diferente internamente pero en la practica devuelven el mismo resultado con algunas excepciones bastante raras (navegadores diferentes).

La diferencia entre substring y substr es el segundo parámetro. En substring, es el index (o numero de carácter) sobre el que parar. En substr, el segundo parámetro es la longitud máxima de la cadena a devolver.

Dicho esto, lo recomendable de todas ellas es usar slice o substr.



Respecto a tu segunda duda... lo que hace es reemplazar una cadena por otra, dentro de un texto.

Linea 5: Por cada carácter de la cadena completa...
Linea 7: Si dicho carácter + los caracteres que siguen (durante la longitud de la cadenaVieja) son iguales a cadenaVieja...
Linea 10: CadenaCompleta es igual a cadenaCompleta hasta donde encontramos el primer carácter de cadenaVieja + cadenaNueva + cadenaCompleta desde donde encontramos el ultimo carácter de cadenaVieja.

Todo esto se basa en un index de caracteres dentro de cadenas de texto.

Supongamos que tienes la cadena: hola mundo
Los index serian respectivamente:


Código:
0 = h
1 = o
2 = l
3 = a
4 =
5 = m
6 = u
7 = n
8 = d
9 = o

Empieza desde el 0 porque todo en la informática empieza desde 0. En algunas ocasiones, un caracter puede equivaler a múltiples index dado que su codificación así lo require.. pero eso ya es otro tema.

Entonces, si yo con la anterior cadena, hago un slice:

Código
  1. var cadena = 'hola mundo';
  2. var primera = cadena.slice(0, 4);

Obtendré, "hola" dado que le estoy diciendo: Corta la cadena desde la posición 0 (primer carácter) hasta la posición 4 (recuerda, incluido el 0 (5))

De la misma forma, si hago cadena.slice(5, 10), obtendré "mundo" porque empiezo en el caracter 5 y termino en la posición (recuerda, incluido el 0) 10.

En cambio, con substr

Si hago cadena.substr(0, 4), obtendré "hola", y lo que le estaría indicando es: Corta la cadena desde la posición 0 hasta las próximas 4 posiciones como mucho.

El resultado aquí seria igual pero en el caso de la palabra mundo, no. Dado que si hago cadena.substr(5, 5) me devolverá "mundo" ya que le estoy diciendo que corte desde la posición 5 hasta los próximos 5 caracteres.


Saludos
« Última modificación: 26 Abril 2017, 21:18 pm por #!drvy » En línea

TØtti

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Diferencia entre slice,substring y substr [javascript]
« Respuesta #5 en: 26 Abril 2017, 22:53 pm »

Me tarde un buen rato en captar como se ejecutaba la función, pero entendí todo perfectamente. Gracias.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
que diferencia hay entre un dvd-r y un dvd+r
Software
radamanthys 2 3,249 Último mensaje 17 Junio 2004, 09:31 am
por radamanthys
Diferencia entre avi y mpg « 1 2 »
Multimedia
Sinnen 12 27,609 Último mensaje 31 Mayo 2005, 09:08 am
por arda-lothi
[Batch] (IF diferencia equ y == ) (SET /A Diferencia entre %v% y v)
Scripting
0x0309 1 7,997 Último mensaje 2 Mayo 2009, 22:48 pm
por M a t t
=javascript= Duda sobre funcion substring (subStr) (SOLUCIONADO)
Java
CloudswX 3 7,756 Último mensaje 28 Abril 2011, 15:44 pm
por Debci
[SOLUCIONADO] Diferencia de comportamiento de botones con javascript
Desarrollo Web
eLank0 1 1,620 Último mensaje 12 Noviembre 2013, 16:16 pm
por eLank0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines