Cómo obtener la suma de enteros entre 2 índices en la matriz con JavaScript

El problema es bastante simple, dada una matriz personalizada de números de n elementos, debes construir una función que devuelva la suma de los números entre 2 índices dados. Por ejemplo, con la siguiente matriz de 5 elementos, con los 2 índices dados 0 y 2, los elementos entre esos índices incluyéndolo son 1, 2 y 3, su suma es 6:

Sum Integers between some indexes of array in JavaScript

Implementación

En este caso, la solución será bastante simple y breve. Para resolver este problema, usaremos la función slice de JavaScript. El método slice de JavaScript devuelve una copia superficial de una parte de una matriz en un nuevo objeto de matriz seleccionado de principio a fin (no se incluye el final) donde el inicio y el final representan el índice de elementos de esa matriz. La matriz original no se modificará.

La solución ya está integrada en JavaScript, lo único que debes hacer es agregar 1 índice al segundo índice proporcionado para incluir ese elemento que no está incluido de forma predeterminada en la función de división. Itera sobre la matriz obtenida y suma cada elemento para obtener el resultado:

/**
 * Devuelve la suma de los números enteros cuyo índice está entre i1 e i2.
 * 
 * @param array 
 * @param i1 
 * @param i2 
 * @returns {Int} result 
 */
function calc(array, i1, i2){
    let result = 0;

    array.slice(i1, (i2 + 1)).forEach(element => {
        result += element;
    });

    return result;
}

En el siguiente ejemplo se muestran algunos casos de prueba:

let array = [0, 1, 2, 3, 4, 5, 3];

// 1
console.log(calc(array, 0, 1));

// 15
console.log(calc(array, 0, 5));

// 0
console.log(calc(array, 0, 0));

// 18
console.log(calc(array, 0, 6));

Que te diviertas ❤️!

Esto podria interesarte

Conviertete en un programador más sociable