nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。示例:
给定 nums = [2, 7, 11, 15], target = 9
  因为 nums[0] + nums[1] = 2 + 7 = 9
  所以返回 [0, 1]
var twoSum = function (nums, target) { // 创建一个map用来存放{key,value} const map = new Map() for (let i = 0; i < nums.length; i++) { // 获取到差值 const complete = target - nums[i] // 判断map中有没有这个差值 if (map.has(complete)) { // 有的话,直接返回这个差值的value,和i return [map.get(complete), i] } else { // 没有的话,将数据和i存进map map.set(nums[i], i) } } // 什么都没有找到就返回空数组 return [] }; console.log(twoSum([2,7,3,5],9))
语法小贴士~
map.has() :
Map中,则返回true。其他情况返回falsemap.get():
原文:https://www.cnblogs.com/yaya-003/p/12698552.html