简体   繁体   English

操作 JavaScript 数组以在 HTML 表中显示

[英]Manipulate JavaScript Array for displaying in HTML Table

I am getting results from my MySQL in an array like this:我正在从我的 MySQL 以这样的数组获取结果:

    [ RowDataPacket {
        Shipper_Name: 'SONA CEREAL PRODUCTS PRIVATE LIMITED',
        Job_ID: 6,
        ShipperInvoiceNo: '12',
        Packing: '4X10Kgs',
        TotalBags: 4000,
        receivedbags: null,
        Diff: null },
      RowDataPacket {
        Shipper_Name: 'AGROW ALLIED VENTURES P LTD',
        Job_ID: 7,
        ShipperInvoiceNo: '0129-20',
        Packing: '1X30Kgs',
        TotalBags: 4800,
        receivedbags: 3670,
        Diff: -1130 },
      RowDataPacket {
        Shipper_Name: 'ATLANTIC CROP SCIENCE P LTD',
        Job_ID: 8,
        ShipperInvoiceNo: '0334/20-21',
        Packing: '8X5Kgs',
        TotalBags: 8758,
        receivedbags: 8758,
        Diff: 0 },
      RowDataPacket {
        Shipper_Name: 'ATLANTIC CROP SCIENCE P LTD',
        Job_ID: 8,
        ShipperInvoiceNo: '0334/20-21',
        Packing: '1X40Kgs',
        TotalBags: 1800,
        receivedbags: 1800,
        Diff: 0 },
      RowDataPacket {
        Shipper_Name: 'ATLANTIC CROP SCIENCE P LTD',
        Job_ID: 8,
        ShipperInvoiceNo: '0334/20-21',
        Packing: '4X10Kgs',
        TotalBags: 4130,
        receivedbags: 530,
        Diff: -3600 } ]

Now I want to convert this JSON data or array to the array below as I want to fill a html table with this data.现在我想将此 JSON 数据或数组转换为下面的数组,因为我想用此数据填充 html 表。

    [{"Shipper_Name":"SONA CEREAL PRODUCTS PRIVATE LIMITED"},{"Job_ID":"6","ShipperInvoiceNo": "12","Packing": "4X10Kgs","TotalBags": "4000","receivedbags": "null","Diff": "null"},{"Shipper_Name": "AGROW ALLIED VENTURES P LTD"},{"Job_ID": "7","ShipperInvoiceNo": "0129-20","Packing": "1X30Kgs","TotalBags": "4800","receivedbags": "3670","Diff": "-1130" },{"Shipper_Name": "ATLANTIC CROP SCIENCE P LTD"},{"Job_ID": "8","ShipperInvoiceNo": "0334/20-21","Packing": "8X5Kgs","TotalBags": "8758","receivedbags": "8758","Diff": "0"},{"Job_ID": "8","ShipperInvoiceNo": "0334/20-21","Packing": "1X40Kgs","TotalBags": "1800","receivedbags": "1800","Diff": "0"},{"Job_ID": "8","ShipperInvoiceNo": "0334/20-21","Packing": "4X10Kgs","TotalBags": "4130","receivedbags": "530", "Diff": "-3600" }]

Assuming you have setup the input as假设您已将输入设置为

let input = [{ Shipper_Name: ... }, {...}, ...];

Then the following code would do the trick然后下面的代码就可以了

let output = [];
let shipperName = null;
for (let ii = 0; ii < input.length; ii++) {
  let val = input[ii];
  if (val["Shipper_Name"] !== shipperName) {
    shipperName = val["Shipper_Name"];
    output.push({Shipper_Name: shipperName});
  }
  let copy = JSON.parse(JSON.stringify(val));
  delete copy["Shipper_Name"];
  output.push(copy);
}

console.log(output);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM