字典
字典是什么?
- 与set类似,map也是一种存储唯一值得数据结构,但它是以键值对的形式来存储
- 常用操作:键值对的增删改查
求两个数组的交集
给定两个数组,编写一个函数来计算它们的交集
let intersection = function (nums1, nums2) {
const map = new Map()
nums1.forEach(n => {
map.set(n, true)
});
const res = []
nums2.forEach(n => {
if (map.get(n)) {
res.push(n)
map.delete(n)
}
})
return res
}
console.log(intersection([1, 2, 3, 5, 6, 2, 1], [2, 4, 6])) // [2, 6]
两数之和
给定一个整数数组nums和一个目标值target,在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。数组中同一个元素不能使用两遍
let twoSum = function (nums, target) {
const map = new Map()
const length = nums.length
for (let i = 0; i < length; i++) {
let num1 = nums[i]
let num2 = target - num1
if (map.has(num2)) {
return [map.get(num2), i]
} else {
map.set(num1, i)
}
}
}
console.log(twoSum([1, 2, 3, 5, 6, 7, 8], 9))

浙公网安备 33010602011771号