No entiendo, cómo funciona este código después de if(y in hash) lo más complicado para mí es que el hash está vacío y no presiono ningún valor en hash , entonces, ¿qué sucederá detrás de escena y y in hash cuál es su significado?
var twoSum = function(nums, target) { const hash = {} // console.log(hash) for (const i in nums) { const x = nums[i]; const y = target - x // console.log(y) if (y in hash) return [i, hash[y]] hash[x] = i } } let arr = [2, 3, 4, 5, 6] console.log(twoSum(arr, 11))hash está vacío y no presiono ningún valor
hash[x] = i parte sumo valores al hash, porque está fuera de la condición if(y in hash)
y in hashlo que significa?
Como Nick Parsons mencionó en un comentario, "está comprobando si la clave almacenada en y es una clave en el objeto hash (o su cadena prototipo)"