提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 第一步
- 第二步
- 第三步
提示:以下是本篇文章正文内容,下面案例可供参考
一、第一步
给大家展示基本数据格式
筛选要求是 b数组中的Bids中的数据只要有一个对应对应上A数组中的Aid就获取该对象.
let A = [
{
Aid: 1,
Aname: '小明',
},
{
Aid: 2,
Aname: '小行',
},
{
Aid: 3,
Aname: '小同',
},
]
let B = [
{
bIds: ['1', '2', '3'],
bName: [
// Aid == bIds[0~n]
{
Aid: 1,
Aname: '小明',
},
{
Aid: 2,
Aname: '小行',
},
{
Aid: 3,
Aname: '小同',
},
],
},
{
bIds: ['6', '2', '8'],
bName: [
{},
{
Aid: 2,
Aname: '小行',
},
{},
],
},
{
bIds: ['2', '8', '4'],
bName: [
{
Aid: 2,
Aname: '小行',
},
{},
{},
],
},
]
二、第二步
实现功能
B.forEach(val => {
if (val.BIds) {
val.BIds = val.BIds.split(',')
//这里的val.newData就是你帅选出的数据,如果你不想将他放到B数组当中,可以自己定义一个变量接收
val.newData = A.filter(item => val.BIds.includes(item.AId.toString()))
map(value => value.Aname).toString()
}
console.log(val)
})
打印结果
三、第三步
如果你单纯想要名称
let final = []
let newFinal = []
B.forEach(val => {
if (val.BIds) {
val.BIds = val.BIds.split(',')
//这里的val.newData就是你帅选出的数据,如果你不想将他放到B数组当中,可以自己定义一个变量接收
val.newData = A.filter(item => val.goodsIds.includes(item.id.toString()))
}
final.push(val)
})
final.forEach(item =>{
newFinal.push(item.bName)
})
console.log(newFinal);
打印结果