In questo articolo vedremo come comparare la somma di due elementi di un array con un totale in JavaScript.
Dobbiamo risolvere il seguente esercizio: dato un array di numeri interi e un totale, occorre restituire un array contenente i primi due numeri contigui che, sommati, corrispondono al totale.
È un'utile occasione per riscoprire il ciclo while
. Si tratta di incrementare due volte il contatore interno, la prima per ottenere
il numero corrente e la seconda per il numero che segue.
'use strict';
const twoSum = (nums = [], target = 0) => {
if(nums.length === 0) {
return [];
}
if(nums.length === 1) {
return nums[0] === target ? [0] : [];
}
const output = [];
let i = -1;
while(i < nums.length - 1) {
i++;
let sum = nums[i] + nums[i + 1];
if(sum === target) {
output.push(i);
output.push(i + 1);
break;
}
}
return output;
};
console.log(twoSum([2,7,11,15], 9));