JavaScript:获取两对数组的交集
2022-11-17 本文已影响0人
东方晓
2022-11-18 周五
给定两个数组,编写一个函数来计算它们的交集
let nums1 = [{id:1},{id:2},{id:3}]
let nums2 = [2,2]
方法一:Set
利用 Set去除本身的重复,然后合并
let intersection = (arr1,arr2) =>{
let res = []
let a1 = new Set(arr1)
let a2 = new Set(arr2)
a1.forEach(item => {
if(a2.has(item.id)){
res.push(item)
}
})
return res
}
console.log('intersection : ', intersection(nums1,nums2)) // [{id:2}]
方法二:filter
let intersection = (arr1,arr2) =>{
let a1 = new Set(arr1)
let a2 = new Set(arr2)
return [...a1].filter(item => a2.has(item.id))
}
console.log('intersection : ', intersection(nums1,nums2)) // [{id:2}]
嘿嘿,这样写比for循环省事多了不是么。(~ ̄▽ ̄)~