Inicio - page 4

Reemplazar múltiples ocurrencias de una cadena en Javascript

Reemplazar múltiples ocurrencias de una cadena en Javascript

Cuando tengo que reemplazar una cadena por otra en Javascript tiendo a utilizar la función replace, que en principio parece que debería funcionar. De lo me he dado cuenta hoy es de que esta función sólo reemplaza la primera ocurrencia de la cadena en cuestión.

Esto es suficiente en muchas ocasiones pero en muchas otras necesitamos reemplazar la cadena todas las veces que aparezca en la original.

Buscando por diferentes webs he encontrado varias formas de conseguirlo pero al final he optado por ésta:


var cadena = "limuneru"; var nueva = cadena.split('u').join('o');

Siguiendo esta línea, podemos eliminar todas las ocurrencias de una cadena en otra así:


var cadena = 'El blog de Duranda lalala es genial'; 
var nueva = cadena.split('lalala').join('');

Como veis es un código sencillo pero nunca consigo acordarme. Por eso he pensado que dejarlo aquí sería buena idea,  además de que igual le sirve a alguien más.

Otro día más y mejor! 🙂

Evitar errores en navegadores sin consola

Evitar errores en navegadores sin consola

Un compañero me pasó el otro día una utilidad que me parece muy interesante. Os comento:

Cuando programamos hay veces en los que utilizar la consola del navegador para dejarnos mensajes de depuración nos viene muy bien. El problema aparece cuando el navegador no tiene consola, ya sea porque es viejo o porque se trata de un navegador de un móvil.

Este pequeño javascript evita errores de ejecución cuando el navegador en cuestión no dispone de consola.


// Avoid `console` errors in browsers that lack a console. 
(function() {  
   var method;
     var noop = function () {};
     var methods = [
         'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error',         'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log',         'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd',         'timeStamp', 'trace', 'warn'
     ];

     var length = methods.length;
     var console = (window.console = window.console || {});

     while (length--) {
         method = methods[length];

         // Only stub undefined methods.
         if (!console[method]) {
             console[method] = noop;
         }
     }
 }());

Os dejo el enlace a Github, aquí.

¡Otro día más y mejor!

Utilizar proxy en nuestros programas Java

Utilizar proxy en nuestros programas Java

El siguiente código sirve para utilizar un proxy HTTP en las peticiones que hagamos desde nuestros programas Java. Es necesario si queremos salir al exterior en redes donde toda comunicación con internet pasa por un proxy. Os dejo cómo hacerlo tanto pasando los parámetros al arrancar la JVM como por código.

Como parámetros de arranque:

java -Dhttp.proxyHost=proxyhostURL
       -Dhttp.proxyPort=proxyPortNumber
       -Dhttp.proxyUser=someUserName
       -Dhttp.proxyPassword=somePassword HelloWorldClass

Con código:

System.getProperties().put("http.proxyHost", "someProxyURL");
System.getProperties().put("http.proxyPort", "someProxyPort");
System.getProperties().put("http.proxyUser", "someUserName");
System.getProperties().put("http.proxyPassword", "somePassword");

Lo he encontrado aquí.

Otro día más y mejor! 🙂

Medir tiempos en Javascript

Medir tiempos en Javascript

Algo relativamente habitual es tener que comprobar cuánto tarda nuestro código en ejecutarse e ir dejando trazas de los tiempos de ejecución para luego poder revisarlos.

El otro día descubrí que los navegadores incluyen una utilidad que hace toda la tarea por nosotros. Es tan fácil como lo que sigue:

console.time('Suceso1'); 

// ... Aquí pasan cosas

console.timeEnd('Suceso1');

 El resultado será una línea como ésta:


Suceso1: 5569.000ms

 Como cosa interesante, decir que si anidamos mediciones los resultados no se solapan. El navegador sabe distinguir qué medición estamos pidiéndole que muestre al hacer el console.timeEnd() porque le estamos pasando la etiqueta (Suceso1 en el ejemplo anterior). Esto significa que  si ejecutáis console.time() con distintas etiquetas y luego ejecutáis los end en ordenes distintos, los tiempos que veréis serán los correctos.

¿No os lo creéis? Haced unas probatinas y me lo contáis 🙂

Otra cosa importante es que no todos los navegadores tienen implementada esta funcionalidad. Para ello, el señor de cuyo blog obtuve esta información propone una alternativa. No es mala pero no permite anidar mediciones como os comentaba. Os dejo un enlace a su entrada por si queréis leerla, a mí me fue muy útil.

En próximas entradas implementaré yo ese extra que le falta a la propuesta de Ajimix.

Ale, otro día más y mejor! 🙂

Clonar objetos con extend de jQuery

Clonar objetos con extend de jQuery

Hoy he necesitado clonar un objeto para obtener uno exactamente igual pero en otra variable. Hasta ahora había visto el siguiente código, que lo que hace es convertir el objeto a cadena JSON para después obtener un objeto de nuevo:


var clon = JSON.parse(JSON.stringify(original));

 He encontrado esta forma utilizando la función extend de jQuery, os la dejo por si os es útil:


var clon = jQuery.extend(true, {}, original);

 En esta web ofrecen una comparativa de tiempos de ejecución entre varios métodos y navegadores, podéis echarle un ojo.

Otro día más y mejor! 🙂

Page 4 of 6 ← First ... 2 3 4 5 6