array

Mezclar arreglo en JavaScript

Resumen: en este post te mostraré a mezclar los elementos de un arreglo en JavaScript, de tal manera que los items del array estén en un orden distinto, algo así como randomizar el arreglo o hacerlo aleatorio.

Voy a demostrarlo con ejemplos y con una demostración que podrás probar en línea.

Continue reading…

Arreglos en Kotlin

En este post vamos a ver cómo declarar arreglos en Kotlin y cómo recorrerlos usando un ciclo for.

Recordemos que los arreglos no son más que colecciones de elementos del mismo tipo, a los que se accede a través de su índice.

Continue reading…

JavaScript – Saber si cadena es Pangrama

Anteriormente vimos cómo saber si una string es un pangrama en Python.

Ahora veremos cómo comprobar que una cadena es un pangrama en JavaScript, para ello usaremos un algoritmo simple en combinación con el método includes.

Recuerda que un pangrama es aquella oración que contiene todas las letras de un alfabeto de determinado idioma; en este caso lo haremos con el alfabeto español, aunque también se podrá modificar para otro alfabeto como el inglés.

Continue reading…

Eliminar duplicados de un arreglo en JavaScript

Eliminar elementos duplicados de arreglos en JavaScript

En este post veremos cómo eliminar elementos repetidos o duplicados de un arreglo en JavaScript. Para esto, no nos limitaremos a arreglos con tipos de datos simples; sino también arreglos de objetos.

Eliminar duplicados de un arreglo en JavaScript

Eliminar duplicados de un arreglo en JavaScript

Explicado de otra forma, lo que haremos será:

  • Ver cómo eliminar datos primitivos (cadena, entero, booleano, etcétera) repetidos de arreglos en JavaScript
  • Eliminar objetos repetidos, ya sea basados en una propiedad o comparándolos en profundidad.

Vamos allá.

Continue reading…

Búsqueda binaria en Java

Búsqueda binaria en Java sobre arreglos numéricos

Introducción

Hoy veremos cómo implementar el algoritmo de búsqueda binaria en el lenguaje de programación Java. Este algoritmo funcionará  con números; y más tarde con cadenas. Veamos lo que haremos:

  • Escribir una función que busque de forma binaria en arreglos de números usando recursividad o recursión
  • Implementar el algoritmo de búsqueda binaria secuencial (con ciclos, en este caso while) en arreglos de números.

Aquí dejo una imagen del código para adornar el post. No te preocupes, podrás copiarlo como texto más abajo, esto es meramente ilustrativo.

Búsqueda binaria en Java

Búsqueda binaria en Java

Si quieres tomarle fotos a tu código, prueba Polacode; una extensión para VSCode.

Más tarde traeré la implementación para la búsqueda binaria en cadenas o strings.

Continue reading…

Cómo ordenar arreglos en JavaScript usando sort

Introducción

JavaScript es un lenguaje criticado por muchas personas, precisamente por sus métodos o maneras de hacer las cosas. Una de las cosas más criticadas es cómo ordenar arreglos en JavaScript.

Este lenguaje proporciona todo lo que necesitamos para ordenar arreglos, ya sean arreglos de cadenas, de enteros o incluso de objetos; porque nos permite definir una función de ordenamiento.

Pero bueno, vamos a ver algunos ejemplos para que quede claro. Ordenaremos en orden ascendente y descendente, arreglos de strings, de números y de objetos, usando el método sort.

Espero que después de este post no te queden dudas sobre cómo ordenar arrays. Cubriré los casos más comunes.

Finalmente quiero aclarar que esto funciona tanto en JavaScript del lado del navegador, como en JS del lado del servidor usando Node.JS.

Continue reading…

Eliminar elemento de arreglo en PHP a partir de su índice

Introducción

Este es un ejercicio simple pero que nos servirá a la mayoría al trabajar con arreglos en PHP. En algún momento de nuestras vidas puede que nos topemos con el problema de eliminar un elemento de un arreglo en PHP.

Por ejemplo, si tenemos un carrito de compras como el que implementamos en el sistema de ventas MVC tendremos que saber quitar un elemento de un array en PHP.

Continue reading…

Sintaxis corta de array en PHP

Introducción

PHP 5.4.0 (sí, ya sé que salió hace un largo tiempo) introdujo la sintaxis corta de array o arreglos.

Esto nos permite escribir menos código, aunque también tiene sus desventajas si lo usamos en versiones anteriores a esta.

Continue reading…

Longitud de un arreglo en C

Introducción

Hoy veremos cómo obtener la longitud de un arreglo en C.

C es un lenguaje un poco antiguo, fue uno de los primeros lenguajes que nos enseñaron a la mayoría de nosotros. Antes de él existían otros lenguajes como B, Ada, y todos esos.

C en cambio es un lenguaje casi de bajo nivel y fácil de aprender.

Debido a que C no es un lenguaje muy nuevo, muchas funciones que necesitamos no vienen por defecto. Una de ellas es alguna función para obtener la longitud de un arreglo.

Continue reading…

Promedio de valores de un arreglo usando reduce en Javascript

Si tenemos un arreglo con números dentro de él y queremos calcular el promedio de dichos valores podemos usar algo así:

var suma = 0;

for(var x = 0; x < arreglo.length; x++){
  suma += arreglo[x];
}
var promedio = suma / arreglo.length;

Lo que hoy explicaré es una función de los arreglos en dicho lenguaje llamada reduce, dicho procedimiento no necesita ningún ciclo for y es un poco más elegante.

Sumatoria con números

Con esto, podemos sacar la sumatoria de la siguiente manera:

var arreglo = [4,2,5,6,77,844,432]; //Con este arreglo trabajaremos
var sumatoria = arreglo.reduce(function(acumulador, siguienteValor){
  return acumulador + siguienteValor;
}, 0);

Simplemente invocamos a la función reduce y le pasamos dos argumentos:

  • El primero, una función anónima que recibirá a su vez acumulador y siguienteValor. acumulador es el acumulador, que la primera vez tendrá el valor del primer elemento, o el valor que establezcamos por defecto (ver segundo argumento). Tomando como ejemplo el array de arriba, primero se llamará con acumulador=4 y siguienteValor=2, después con acumulador=6 (4 + 2) y siguienteValor=5, y así sucesivamente.
  • El segundo, un valor por defecto. Debido a que en algún momento el arreglo puede estar vacío, se necesita un valor por default. Ya que se llamará a la función anónima con acumulador y siguienteValor, pero, como no hay elementos, ambos serán indefinidos y no se podrán sumar. Por esto es que indicamos el valor por defecto.

Una vez que tengamos la sumatoria, podemos calcular el promedio dividiéndola entre el número de elementos:

var arreglo = [4,2,5,6,77,844,432]; //Con este arreglo trabajaremos
var sumatoria = arreglo.reduce(function(a, b){
  return a + b; //Regresa el acumulador más el siguiente
}, 0); //Pero si no encuentras nada o no hay siguiente, regresa 0
var promedio = sumatoria / arreglo.length;

Sumatoria con objetos

Igualmente podemos calcular la sumatoria si nuestro array contiene objetos. Veamos un ejemplo en donde sumaremos la edad de algunas personas. Como podemos ver, este arreglo ahora tiene personas (objetos) en vez de simples números.

var arreglo = [
  {
    nombre: "John Doe",
    edad: 50
  },
  {
    nombre: "Pedro",
    edad: 20
  },
  {
    nombre: "Juanita",
    edad: 22
  }
];

Definido el arreglo de arriba, para sacar la sumatoria sería:

var sumatoriaObjeto = arreglo.reduce(function(acumulador, siguienteValor){
  return {
    edad: acumulador.edad + siguienteValor.edad
  };
}, {edad: 0}); //Si no hay nada, regresamos un objeto con edad = 0. No hay necesidad de devolver el nombre, pues no es necesario

Noten por favor que ahora devolvemos un objeto que lleva la clave edad, cuyo valor es la suma de los otros dos objetos.

Eso devolverá, al terminar la función, algo como {edad: 92}. Para tener ahora sí el verdadero número debemos acceder a sumatoriaObjeto.edad y ese valor dividirlo entre el número de personas, así:

var sumatoriaObjeto = arreglo.reduce(function(acumulador, siguienteValor){
  return {
    edad: acumulador.edad + siguienteValor.edad
  };
}, {edad: 0}); //Si no hay nada, regresamos un objeto con edad = 0. No hay necesidad de devolver el nombre, pues no es necesario

var promedioEdad = sumatoriaObjeto.edad / arreglo.length;

Y así es como podemos sacar promedios y sumatorias en Javascript usando reduce, de una forma elegante.