Tratando de iterar sobre una matriz para encontrar dos elementos de matriz cuya suma sea igual al objetivo, no estoy seguro de por qué no funciona const numsArr = [2,7,11,15] const numTarget = 9 const twoSum = function (nums, ...
0
LorenzoDev
4 mar. 2021 a las 17:02
1 respuesta
La mejor respuesta
Siempre debe verificar si hay errores tipográficos: numTarget
no es numsTarget
; Además, break
el bucle si se alcanza el resultado deseado. Prueba algo como:
const numsArr = [2, 7, 11, 15];
const sumFromTarget = (nums, target) => {
let sum = 0;
for (let i = 0; i <= nums.length; i += 1) {
sum += nums[i];
// ^ add current value to sum
if (sum === target) {
console.log(nums.slice(0, i + 1).join(" + ") + " = " + target);
break;
// result is reached, no need for further processing
}
}
if (sum !== target) {
// ^ true if the loop is completed without result
console.log(`Could not reach ${
target} summing the consecutive values of the given array`);
}
}
sumFromTarget(numsArr, 9);
sumFromTarget(numsArr, 17);
sumFromTarget(numsArr, 20);
0
KooiInc
4 mar. 2021 a las 14:21
Preguntas relacionadas
Nuevas preguntas
javascript
Para preguntas sobre la programación en ECMAScript (JavaScript / JS) y sus diversos dialectos / implementaciones (excepto ActionScript). Incluya todas las etiquetas relevantes en su pregunta; por ejemplo, [node.js], [jquery], [json], etc.