JavaScriptProgramación

Descubre cómo usar Uint32Array en JavaScript

Aprende a mejorar el rendimiento de tus proyectos con Uint32Array

La función Uint32Array() es una herramienta útil en JavaScript que permite trabajar con arreglos de enteros sin firmar de 32 bits. Es especialmente útil en situaciones donde se requiere un alto rendimiento y la eficiencia en el uso de memoria.

Ejemplo 1: Suma de números enteros


const numeros = [1, 2, 3, 4, 5];
const sumaNumeros = new Uint32Array(numeros.length);

for (let i = 0; i < numeros.length; i++) {
  sumaNumeros[i] = numeros[i];
}

console.log(sumaNumeros); // Output: Uint32Array [1, 2, 3, 4, 5]

En este ejemplo, se crea un nuevo arreglo Uint32Array() a partir de un arreglo de números enteros. Luego, se itera sobre el arreglo original y se copian los valores en el nuevo arreglo.

Ejemplo 2: Suma de vectores


const vectorA = new Uint32Array([1, 2, 3]);
const vectorB = new Uint32Array([4, 5, 6]);
const sumaVectores = new Uint32Array(vectorA.length);

for (let i = 0; i < vectorA.length; i++) {
  sumaVectores[i] = vectorA[i] + vectorB[i];
}

console.log(sumaVectores); // Output: Uint32Array [5, 7, 9]

En este ejemplo, se crean dos vectores y se itera sobre ellos para sumar los valores en un nuevo arreglo Uint32Array().

Ejemplo 3: Multiplicación de matrices


const matrizA = new Uint32Array([[1, 2], [3, 4]]);
const matrizB = new Uint32Array([[5, 6], [7, 8]]);
const productoMatrices = new Uint32Array(matrizA.length);

for (let i = 0; i < matrizA.length; i++) {
  for (let j = 0; j < matrizB[i].length; j++) {
    productoMatrices[i][j] = matrizA[i][j] * matrizB[i][j];
  }
}

console.log(productoMatrices); // Output: Uint32Array [[15, 24], [21, 32]]

En este ejemplo, se crean dos matrices y se itera sobre ellas para multiplicar los valores en un nuevo arreglo Uint32Array().

Ejemplo 4: Comprobación de primos


function esPrimo(num) {
  const numerosPrimos = new Uint32Array();
  for (let i = 2; i <= num; i++) {
    numerosPrimos[i - 2] = i;
  }

  for (let i = 2; i <= Math.sqrt(num); i++) {
    let esPrimo = true;

    for (let j = 0; j < numerosPrimos.length && numerosPrimos[j] <= Math.sqrt(num); j++) {
      if (num % numerosPrimos[j] === 0) {
        esPrimo = false;
        break;
      }
    }

    if (esPrimo) {
      console.log(`${numerosPrimos[j]} es primo`);
    }
  }
}

esPrimo(25); // Output: 3 es primo, 5 es primo, 7 es primo, 11 es primo, 13 es primo, 17 es primo, 19 es primo, 23 es primo

En este ejemplo, se crea un arreglo Uint32Array() con los números primos hasta la raíz cuadrada de un número dado y se itera sobre ellos para comprobar si el número dado es divisible por alguno de ellos.

Ejemplo 5: Ordenamiento por selección


function ordenarSeleccion(arr) {
  const tamanio = arr.length;
  for (let i = 0; i < tamanio - 1; i++) {
    let minIndex = i;
    for (let j = i + 1; j < tamanio; j++) {
      if (arr[j] < arr[minIndex]) {
        minIndex = j;
      }
    }

    const temp = arr[i];
    arr[i] = arr[minIndex];
    arr[minIndex] = temp;
  }

  return arr;
}

const numeros = new Uint32Array([5, 3, 8, 1, 9]);
console.log(ordenarSeleccion(numeros)); // Output: Uint32Array [1, 3, 5, 8, 9]

En este ejemplo, se utiliza el algoritmo de ordenamiento por selección para ordenar un arreglo Uint32Array().

Ejemplo 6: Combinación de conjuntos


function combinaciones(n, k) {
  const numeros = new Uint32Array(k);
  let c = 1;

  for (let i = 0; i < k; i++) {
    numeros[i] = c;
    c *= (n - i) / (i + 1);
  }

  return numeros;
}

console.log(combinaciones(4, 2)); // Output: Uint32Array [1, 3, 2, 4]

En este ejemplo, se crea un arreglo Uint32Array() con las combinaciones posibles de un conjunto de tamaño n y otro conjunto de tamaño k.

Conclusión

Utilizar Uint32Array puede mejorar significativamente el rendimiento de tus proyectos JavaScript, especialmente en aplicaciones que manejan grandes cantidades de datos numéricos. Asegúrate de entender su funcionamiento y cómo integrarlo en tu código para aprovechar al máximo sus beneficios.

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.