Map.get、Map.set、Map.has方法

在力扣上做了一道题,针对这道题来写一下用到的知识:
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

利用JS解答:
var twoSum = function(nums, target) {
const myMap = new Map();
for (let i = 0; i < nums.length; i++) {
if (myMap.has(target - nums[i])) {
return [myMap.get(target - nums[i]), i];
}
myMap.set(nums[i], i);
}

};

(1)get() 方法用来获取一个 Map 对象中指定的元素。
(2)set() 方法为Map对象添加一个指定键(key)和值(value)的新元素。
(3)has() 返回一个bool值,用来表明map 中是否存在指定元素。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]: map.get(key)传入参数位置是Object,传入任何类型对象都不会报错,但是会返回null。\[1\]引用\[3\]中提到get()方法用来获取一个Map对象中指定的元素。所以在if语句中,如果map.get(n)返回的是null,条件判断为false,不会执行if语句块中的代码。如果map.get(n)返回的是非null值,则条件判断为true,会执行if语句块中的代码。引用\[2\]中的代码是利用JS实现的,其中的myMap.get()方法也是用来获取Map对象中指定的元素。所以在if语句中,如果myMap.get(target - nums\[i\])返回的是null,条件判断为false,不会执行if语句块中的代码。如果myMap.get(target - nums\[i\])返回的是非null值,则条件判断为true,会执行if语句块中的代码。 问题: if (map.get(n)) { return map.get(n) } 回答: 在这段代码中,if语句的条件判断是map.get(n)。如果map.get(n)返回的是null,则条件判断为false,不会执行if语句块中的代码。如果map.get(n)返回的是非null值,则条件判断为true,会执行if语句块中的代码。如果条件判断为true,那么会执行return语句,返回map.get(n)的值。 #### 引用[.reference_title] - *1* [map.get(key)相关问题记录](https://blog.csdn.net/m0_43440905/article/details/122818586)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Map.get、Map.setMap.has方法](https://blog.csdn.net/jn0618sunshine/article/details/106427521)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值