常用数组方法总结

87 阅读2分钟

1、对象数组的拆分 单个对象的属性包含数组,将数组内的单个对象提取出来

```function test() {
  var arr = [
    {
      发货单号: "lu001",
      发货数据: [
        {
          零件号: "WL01",
          "销售出库数量(托)": "50",
          单托出库数量: "30",
          物料名称: "物料1",
          销售出库总数量: NumberInt("1500"),
          出库状态: "待出库",
        },
        {
          零件号: "WL02",
          "销售出库数量(托)": "60",
          单托出库数量: "20",
          物料名称: "物料2",
          销售出库总数量: NumberInt("1200"),
          出库状态: "待出库",
        },
      ],
      _v: NumberLong("1697184946044"),
      销售出货通知单Id: NumberLong("6507478155987200"),
      零件号: null,
      "销售出库数量(托)": null,
      单托出库数量: null,
      销售出库总数量: null,
      出库状态: null,
      nhUserId: NumberLong("6484873525283072"),
      创建者: "luyinqiu",
      nhDeptId: NumberInt("1"),
      创建者组织: "上海星铂软件技术有限公司",
    },
    {
      发货单号: "lu003",
      发货数据: [
        {
          零件号: "WL01",
          "销售出库数量(托)": "30",
          单托出库数量: "5",
          物料名称: "物料1",
          销售出库总数量: NumberInt("150"),
          出库状态: "待出库",
        },
      ],
      _v: NumberLong("1697184890381"),
      销售出货通知单Id: NumberLong("6507477243988224"),
      零件号: null,
      "销售出库数量(托)": null,
      单托出库数量: null,
      销售出库总数量: null,
      出库状态: null,
      nhUserId: NumberLong("6484873525283072"),
      创建者: "luyinqiu",
      nhDeptId: NumberInt("1"),
      创建者组织: "上海星铂软件技术有限公司",
    },
  ];

  var res = arr.reduce((retu, cur) => {
   
    if (cur["发货数据"].length > 0) {
      let temobj = cur;
      cur["发货数据"].forEach((item, index) => {
        temobj["发货数据"] = item;
      });
      retu.push(temobj);
    }
    return retu;
  }, []);
  console.log("res", res);
}
test()