1-two-sum.js 632 Bytes
/**
 * @param {number[]} nums
 * @param {number} target
 * @return {number[]}
 */
var twoSum1 = function(nums, target) {
    for(let [i, v] of nums.entries()) {
        let f = nums.indexOf(target-v, i+1);
		
        if (f >= 0) {
            return [i, f]
        }
    }
};

var twoSum = function(nums, target) {
	let m = {}
    for(let [i, v] of nums.entries()) {
		(m[v] === void 0) && (m[v]=i);
		let d = target-v;
		// console.info('-->', i,v,d,m[d])
		if (m[d] >= 0 && m[d] !== i) {
			return [m[d], i]
		}
    }
};


console.info(twoSum([3,2,4], 6));
console.info(twoSum([2,7,11,15], 9));
console.info(twoSum([4,2,4], 8));