- 实现场景 两个数组之间做关系,例如一个订单对应多个产品表这样,做过滤操作(拿出t0订单表中以及订单表对应的产品数据)
- 实现逻辑:订单这个数组中的每个对象(订单)嵌套一个对应的产品列表
- 返回的数据to表,和t1(两个数组)
- 返回的数据to表,和t1(两个数组)
3.原来的写法
```javascript
var CompletedOrder = res.data.ReturnData.T0
var XList = res.data.ReturnData.T1
//原始方法
for (var i = 0; i < CompletedOrder.length; i++) {
CompletedOrder[i].SubList = [];
}
for (var i = 0; i < CompletedOrder.length; i++) {
for (var j = 0; j < XList.length; j++) {
if (CompletedOrder[i].SalesOrderNo == XList[j].SalesOrderNo) {
CompletedOrder[i].SubList.push(XList[j])
}
}
}
```
4.思考改进的写法(逻辑不能变,主要改变代码的冗余)
- 使用map
//方法一
SaleOrder= SaleOrder.map(i => {
i.SubList = []
XList.map(j => {
if (i.SalesOrderNo == j.SalesOrderNo) {
i.SubList.push(j)
}
})
return i
})