Artículos
jQuery

Filtrar elementos de un array con jQuery

Creado: 04/Abr/2011 Actualizado: 27/Ago/2021

jQuery nos permite, de una forma muy sencilla, filtrar elementos de un array. Para ello contamos, en jQuery, con la función .grep().

Lo primero será crear nuestro array. Vamos a crear un array de números. Números del 1 al 10:

var a=[1,2,3,4,5,6,7,8,9,10];

El filtro nos ayudará a filtrar aquellos elementos que sean mayores de 5. Las función del filtros en jQuery, y que luego utilizaremos con el método .grep(), siempre recibe dos parámetros.

functionfiltro (elemento,indice) {...}
  • elemento, que será el elemento del array sobre el que estemos iterando.
  • indice, que será el índice del array que ocupa el elemento sujeto a análisis

Esta función devolverá true cuándo cumpla la condición que queramos aplicar y false cuándo no la cumpla.

Nuestra función de elementos mayores que 5 quedaría de la siguiente forma:

function mayorQueCinco(elemento,indice){
	return (elemento <= 5);
}

Ahora aplicamos esta función sobre el array con el método .grep(). Hay que tener en cuenta que la función .grep() nos devuelve otro array con los elementos que cumplan el filtro. Nosotros vamos a reutilizar la variable. :-)

var a=[1,2,3,4,5,6,7,8,9,10];
a = jQuery.grep(a,mayorQueCinco);

Ya solo nos quedará volcar el contenido del nuevo array:

$("#resultado").text(a.join(", "));

Código Fuente

Descárgate el código fuente de Filtrar elementos de un array con jQuery
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Artículos
jQuery

Bloquear el envío de un formulario con jQuery

Creado: 03/Abr/2011 Actualizado: 27/Ago/2021

Si hemos presentado un formulario a nuestros usuarios es probable que queramos validar la información que hayan insertado antes de enviarlo. En esta situación, si encontramos algo que no nos cuadre deberemos poder bloquear el envío del formulario.

Ahora vamos a ver cómo podemos bloquear el envío de un formulario con jQuery. Pero lo primero será poner nuestro formulario HTML. Para ello utilizamos la etiqueta FORM:

En este caso el envío del formulario se ejecuta al pulsar sobre el elemento INPUT de tipo submit.

Lo que nosotros vamos a hacer es interceptar con jQuery el evento .submit() del formulario. Para ello nos posicionamos en el formulario y capturamos dicho evento:

$("#formulario").submit(function() {...});

Ahora ya tenemos el control del envío del formulario. La idea es asignar una función que atienda a este evento .submit(). Si queremos bloquear el envío del formulario la función deberá devolver false. Si queremos que se envíe el formulario deberemos de devolver true.

Para demostrar el funcionamiento vamos a comprobar que el texto introducido coincide con una palabra. Si no coincide bloqueamos el envío del formulario (con el false) y si coincide, enviamos el formulario (con el true).

$(document).ready(function(){
  $("#formulario").submit(function() {
    var x = $("#valor").val();
      if (x!="enviar") {
        alert("Valor introducido no válido");		
        return false;
      } else 
          return true;			
    });
});

Ya tenemos el código de cómo bloquear el envío de un formulario con jQuery.

Código Fuente

Descárgate el código fuente de Bloquear el envío de un formulario con jQuery
Y si te ha gustado nuestro código fuente puedes regalarnos una estrella Star
Artículos
Java

Cargar una matriz por teclado en Java

Creado: 01/Abr/2011 Actualizado: 29/Dic/2014

En el ejemplo Crear una matriz en Java veíamos como se define una matriz de números en Java. En ese ejemplo rellenábamos los valores de la matriz directamente en la instanciación de la matriz.

int [][] matriz = {{2,4,4},{6,6,9},{8,10,12}};

Una de las preguntas que nos presentabais ante ese artículo es cómo poder cargar una matriz por teclado en Java. Es decir, que el usuario vaya introduciendo los valores uno a uno.

Para este caso lo primero que haremos será instanciar la matriz vacía. Por ejemplo una matriz de 3×3:

int matriz[][] = new int[3][3];

Ahora vamos a rellenarla. Para ello vamos a utilizar la misma técnica que si la quisiésemos recorrer. Es decir, dos bucles anidados que iteraran por el número de elementos que tenga la matriz en cada índice. El tamaño de la matriz que nos sirve para definir el bucle lo conseguimos mediante la propiedad .length. Algo así:

for (int x=0; x < matriz.length; x++) {
  for (int y=0; y < matriz[x].length; y++) {...}
}

Si bien, en cada una de las iteraciones, vamos a rellenar el elemento en el que estemos. Para leer los datos de la consola utilizaremos la clase Scanner. La clase Scanner la instanciaremos al principio del programa:

Scanner consola = new Scanner(System.in);

En cada ciclo del bucle utilizamos el método .nextInt() de la clase Scanner para leer un entero de teclado. Y directamente se lo asignamos a la matriz.

for (int x=0; x < matriz.length; x++) {
  for (int y=0; y < matriz[x].length; y++) {
    System.out.println("Introduzca el elemento [" + x + "," + y + "]");
    matriz[x][y] = consola.nextInt();
  }
}

Ya solo nos quedará mostrar el contenido de la matriz para validar que coincide con el insertado:

for (int x=0; x < matriz.length; x++) {
  for (int y=0; y < matriz[x].length; y++) {
    System.out.println ("[" + x + "," + y + "] = " + matriz[x][y]);
  }
}

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java