完成项目的发货管理心得

1.创建一个新的包含一个有数据数组的部分数组:

let list = [];
 data.map((Item,index) => {
    let daliverylist = JSON.parse(Item.deliverylist)||[];
    let childList = [];
    //创建一个新的数组保存当前发货单号的发货列表的数据    
    x.sku.forEach(function(x,i) {
        daliverylist.forEach(function(z) {
            if(x.sku===z.sku){      
            childList.push({...x,num:z.num,realGet:z.num})
           }
      }, this);
    }, this);
    list[index] = ({...Item,skuList:childList});})  
})     

通过比较sku是否相等,创建一个新的childList数组,里面存放daliverylist的所有数据,并且加上num和realGet属性。
最后将数据和索引放在list数组里。

2.搜索相应属性有些需要去重处理

// 客户搜索去重处理
 saleData.map((Item,index) =>{
     cnameSearch[Item.cname]=1;
 })
 let newcnameSearch = [];
 for(var prop in cnameSearch){
     newcnameSearch.push({ cnameValue:prop })
 }

例如一张发货单,一个客户可能有多张发货单,所以直接获取表中所有客户名字再组建数组会有重复,这时就会有警告,key会有重复。所以需要去重处理,将所有的客户名字组建一个数组,通过javascript的for…in语句,将所想要的字段存放在新的数组里。
JavaScript for...in 语句
for...in 语句用于对数组或者对象的属性进行循环操作。
for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作。

3.

猜你喜欢

转载自blog.csdn.net/Lei_zhen96/article/details/78804414