Aquí está mi código para resolver leetcode- Two sum
let nums = [2, 7, 11, 15]; let target = 9; for (let i = 0; i < nums.length; i++) { let x = target - nums[i]; if (nums[i + 1] === x) { console.log([i, i+1]) // [0, 1] return [i, i + 1]; } } //it ok nums.forEach((item, index) => { let x = target - nums[index]; if (nums[index + 1] === x) { console.log([index, index + 1]);// [0, 1] return [index,index+1] } }); // undefined Uso forEach en lugar de for(...) , ambos console.log son iguales, pero forEach devuelve undefined . ¿Por qué?
Puede usar el mapa JS porque forEach siempre devuelve undefined
let nums = [2, 7, 11, 15], target = 9; let m = {}; nums.map((value, index) => { m[value] = index; }); for (i = 0; i < nums.length; i++) { let diff = target - nums[i]; if (m.hasOwnProperty(diff)) { console.log(i, m[diff]); } }