map.has,map.get,map.set

需求:如果说有一个数组,当这个数组中的任意两个数相加等于我所设定的定值时,那么就获取到这两个数组的下标。前提,必须是下标不同的两个数字

1.map.has()返回的是布尔类型,判断是否存在该值

2.map.get()返回了该值在数组中的下标

3.map.set( a, b),将b赋予a

 function twoSum(nums,target){
      const map = new Map()//创建map用来存储所有的键值对
      for(let i = 0;i <nums.length;i++){
          let rest = target - nums[i] //获取另一位数
          if(map.has(rest)){
              return [map.get(rest),i] //如果返回值是true,则return另一位数的下标和i值
          }
          else{
              map.set(nums[i],i)//如果没有的话,将i值保留给当前的num数值,以方便下一次进行for循环时使用
          }
      }
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值