多个数组求交集,每个数组里面都是对象
const arr = [
[{v:12}, {v:7}, {v:8}, {v:15}],
[{v:8}, {v:15}, {v:7}],
[{v:7}, {v:8}, {v:12}],
[{v:7}]
]
function getIntersection(arrs = null) {
if (arrs.length > 1) {
return arr.reduce((pre,currentValue) => {
return pre.filter(p => {
//利用some方法,如果数组中有元素满足条件返回 true,否则返回 false
return currentValue.some(c => c.v ===p.v)
})
})
}
}