簡體   English   中英

在NodeJS中將兩個數組組合為一個

[英]Combining Two Arrays To One in NodeJS

我想用ExcelJS創建包含2個數據數組的Excel文件。

我可以創建Excel文件:

var Excel = require('exceljs');
var workbook = new Excel.Workbook();
var sheet = workbook.addWorksheet('My Sheet', {properties:{tabColor:{argb:'FFC0000'}}});

我可以添加列標題:

sheet.columns = [{key:"date", header:"Date"}, {key: "quantity", header: "Quantity"}]

這些列有2個數組:

array_date = [2018-01-04, 2018-01-06, 2018-01-08, 2018-01-09]
array_quantity = [25, 32, 54, 48]

我想將這2個數組合並為一個數組,如下所示:

var merged = [{date:"2018-01-04", quantity:25} 
          , {date:"2018-01-06", quantity:32}  
          , {date:"2018-01-08", quantity:42} 
          , {date:"2018-01-09", quantity:48}];

如果可以合並,則可以為每個數據添加為行:

for(i in merged){
  sheet.addRow(merged[i]);
}

然后,我可以創建Excel文件:

workbook.xlsx.writeFile("some.xlsx").then(function() {
console.log("xls file is written.");
});

如果訂購了兩個陣列,如何將它們組合在一起? 另外,我想知道這是在NodeJS中創建excel文件的最佳方法嗎?

您可以使用創建新數組

var array_date = ["2018-01-04", "2018-01-06", "2018-01-08", "2018-01-09"];
var array_quantity = [25, 32, 54, 48];

var merged = array_date.map((date, i) => ({
    date,
    quantity: array_quantity[i],
}));
array_date = [2018-01-04, 2018-01-06, 2018-01-08, 2018-01-09]
array_quantity = [25, 32, 54, 48]

var merged=[];

for(var i=0;i<array_date.length;i++){
  merged.push({date:array_date[i], quantity:array_quantity[i]});
}

console.log(merged);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM