如何在应用程序脚本中分割字符串并将前半部分存储在数组中

how to split a string and store the first half in a array in apps script

本文关键字:前半部 存储 数组 串并 字符 应用程序 脚本 分割 字符串      更新时间:2023-09-26

我的电子表格中有一列,如下

Login 11:30,
Login 11:30,
Logout 11:30,
Login 11:30,
Logout 09:30,
Login 09:30

我想拆分(登录/注销和时间),并且我想将前半部分(即登录/注销)存储在阵列中

function cabList(cabID, column1) {
    var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Input1');
    var data = ss.getDataRange().getValues();
    var length = data.length,
        count1 = 0,
        count2 = 0,
        outputArray = [],
        shiftData = [],
        temp = [];
    var shift = ss.getRange(3, 11, ss.getLastRow(), 1).getValues();
    for (i = 0; i < length; i++) {
        var tt = shift[i].split(" ");
        shiftData[i] = tt[0];
        if (data[i][column1] === cabID && shiftData[i] === 'Login') {
            count1 += 1;
        } else if (data[i][column1] === cabID && shiftData[i] === 'Logout') {
            count2 += 1;
        }
    }
    temp[0] = cabID;
    temp[1] = count1;
    temp[2] = count2;
    outputArray.push(temp);
}   

我正在尝试这个代码,但我遇到了一个名为的错误

类型错误:在对象中找不到函数拆分登录11:30

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var finalarray = {};
for(var i=1; i<=sheet.getRange("a1:a6").getValues().length; i++){
  var testcol = sheet.getRange("a"+i).getValue();
  var tt=testcol.split(" ");
  finalarray[i-1] = tt[0];
}
Logger.log(finalarray);

========================================

function cabList(cabID, column1) {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Input1');
var data = ss.getDataRange().getValues();
var length = data.length,
count1 = 0,
count2 = 0,
outputArray = [],
shiftData = [],
temp = [];
for(var i = 3; i<=ss.getLastRow(); i++){
  for(var j = 11; j>=1; j--){
    var shift = sheet.getRange(i, j, i, 1).getValue();
    var tt = shift.split(" ");
    shiftData[k] = tt[0];
    k++;
    if (data[i][column1] === cabID && shiftData[i] === 'Login') {
        count1 += 1;
    } else if (data[i][column1] === cabID && shiftData[i] === 'Logout') {
        count2 += 1;
    }
  }
}
temp[0] = cabID;
temp[1] = count1;
temp[2] = count2;
outputArray.push(temp);
}

希望这对你有帮助。

谢谢。