给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
给定nums = [2, 7, 11, 15], target = 9 因为nums[0] + nums[1] = 2 + 7 = 9 所以返
回[0, 1]
var nums = [2, 7, 11, 15], target = 9
function anwser(arr, target) {
let map = {}
// 将其转换为key:value格式
for (let i = 0; i < arr.length; i++) {
map[arr[i]] = i
}
console.log(map,'map');//{2: 0, 7: 1, 11: 2, 15: 3}
// 将其target减去每一项,如果有就返回当前项和d的vlaue
for (let i = 0; i < arr.length; i++) {
var d = target - arr[i]
console.log(map[d])
if (map[d]) {
return [i, map[d]]
}
}
return new Error('404 not found')
}
console.log(anwser(nums,target));