GAS:我怎样才能使这个脚本更快?

GAS: how can I make this script faster?

sheet 有多行由“;”连接我需要扩展字符串并保留 table ID。

ID Column X: Joined Rows
01 a;bcdfh;345;xyw...
02 aqwx;tyuio;345;xyw...
03 wxcv;gth;2364;x89...
function expand_joins(range) {
  var output2 = [];
  for(var i = 0, iLen = range.length; i < iLen; i++) {
    var s = range[i][1].split(";");    
    for(var j = 0, jLen = s.length; j < jLen; j++) {
      var output1 = []; 
      for(var k = 0, kLen = range[0].length; k < kLen; k++) {
        if(k == 1) {
          output1.push(s[j]);
        } else {
          output1.push(range[i][k]);
        }
      }
      output2.push(output1);
    }    
  }
  return output2;
}

理想输出两列

ID Output
01 a
01 bcdfh
01 345
01 xyw
01 ...
02 aqwx

已更新

如果您使用的是 V8 运行时(新 IDE),您可以尝试以下操作:


function expandJoins(range) {
    return range
        .map(row => row[1]
            .split(';')
            .map(splitItem => [row[0], splitItem])
        )
        .flat();
}