在数组谷歌应用程序脚本JavaScript中间推空行
我从一张纸上提取了一些数据。我创建了一个数组,该数组按第2列(SKU列)排序,下面是电子表格中返回的内容: 在此数组中,当SKU更改时,您希望添加一个空行,以使其更易于读取。我编写了以下代码:在数组谷歌应用程序脚本JavaScript中间推空行,javascript,arrays,google-apps-script,Javascript,Arrays,Google Apps Script,我从一张纸上提取了一些数据。我创建了一个数组,该数组按第2列(SKU列)排序,下面是电子表格中返回的内容: 在此数组中,当SKU更改时,您希望添加一个空行,以使其更易于读取。我编写了以下代码: function update(){ var mfgSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Order Info"); var purchaseLog = SpreadsheetApp.
function update(){
var mfgSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Order Info");
var purchaseLog = SpreadsheetApp.
openById("1KkR4jE1c00WuQpPrexW8f9BIq5vxl0fWaUGxbeYERsE").
getSheetByName("Order Details");
var orderSort = purchaseLog.getRange(3, 1, purchaseLog.getLastRow(), 15).getValues().
sort(function(r1,r2){
var a = r1[1];
var b = r2[1];
if(a>b){
return 1;
}else if (a<b){
return -1;}
return 0;
}).filter(function (item){if(item[1]!=""&&item[1]!="Purchase Order Link"){return true}})
.map(function(r){return [r[0],r[1],r[2],r[5],r[6],r[11],r[13],r[12],r[8]]});
var SKUs = orderSort.map(function(r){return r[1]})
var SKUList = [];
for (var i in SKUs) {
var SKU = SKUs[i];
var duplicate = false;
for (var j in SKUList) {
if (SKU === SKUList[j]) {
duplicate = true;
}
}
if (!duplicate) {
SKUList.push(SKU);
}
}
var finalArr = []
for(var i = 0; i <= SKUList.length-1; i++){
var element = orderSort.filter(function(item){if(item[1]===SKUList[i]){return true}});
finalArr.push(element);
finalArr.push([,,,,,,,,,]);
}
Logger.log(finalArr);
}
函数更新(){
var mfgSheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“订单信息”);
var purchaseLog=电子表格应用程序。
openById(“1KKR4JE1C00WUQPPREXW8F9BIQ5VXL0FWAUGXBEYRSE”)。
getSheetByName(“订单详情”);
var orderSort=purchaseLog.getRange(3,1,purchaseLog.getLastRow(),15).getValues()。
排序(功能(r1、r2){
var a=r1[1];
var b=r2[1];
如果(a>b){
返回1;
}否则,如果(a元素
已经是一个二维数组。将其推送到另一个数组,将创建一个三维数组。请改用:
元素
已经是二维数组。通过将其推送到另一个数组,将创建一个三维数组。请改用:
finalArr = finalArr.concat(element);//instead of finalArr.push(element);