// 模拟数据
const data = [
{
id: [0, 1, 2, 4],
name: ['a', 'b', 'c', 'e']
},{
id: [0, 1, 2, 3],
name: ['a', 'b', 'c', 'd']
},{
id: [0, 2, 4],
name: ['a', 'c', 'e']
},
]
// 获得交集方法
function getSameData(data) {
const baseData = data[0] // 以第一组数据为基准
let sameId = baseData.id
let sameData = [] // 最后返回的交集数据
for(let i = 1; i < data.length; i++) {
// 更新交集数据
sameId = sameId.filter(item => data[i].id.includes(item))
}
baseData.id.map((item, index) => {
for(let i = 0; i < sameId.length; i++) {
if(item === sameId[i]) {
sameData.push({
id: item,
name: baseData.name[index]
})
}
}
})
return sameData
}
// 打印出交集数据
console.log(getSameData(data))