You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apps Script数组中筛选出含特定用户ID的行?

解决方案

场景1:筛选所有包含8位用户ID的行

如果你的需求是提取所有User列值为8位数字的行,可以修改代码如下:

function doGet(req) {
  var doc = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = doc.getSheetByName('Sheet1');
  var values = sheet.getDataRange().getValues();

  var output = [];
  // 正则匹配8位数字ID,若ID含字母可改为/^[A-Za-z0-9]{8}$/
  const validUserIdPattern = /^\d{8}$/;

  for(var i = 1; i < values.length; i++) {
    const currentUserId = values[i][0];
    // 仅保留符合8位ID规则的行
    if(validUserIdPattern.test(currentUserId)) {
      var row = {};
      row['User'] = currentUserId;
      row['Name'] = values[i][1];
      row['Email'] = values[i][2];
      row['Phone'] = values[i][3];
      row['Notes'] = values[i][4];
      
      output.push(row);
    }
  }

  return ContentService.createTextOutput(JSON.stringify({data: output})).setMimeType(ContentService.MimeType.JSON); 
}

核心改动:

  • 新增正则表达式校验,精准匹配8位格式的用户ID
  • 循环内增加判断逻辑,仅将符合规则的行加入输出数组

场景2:根据指定的8位ID过滤行

如果你的需求是仅返回与某个特定8位ID匹配的行(比如通过URL参数传递ID),可以使用以下代码:

function doGet(req) {
  var doc = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = doc.getSheetByName('Sheet1');
  var values = sheet.getDataRange().getValues();
  
  // 从URL参数中获取目标ID(示例:你的脚本地址?id=12345678)
  const targetUserId = req.parameter.id;
  
  // 先校验参数有效性
  if(!targetUserId || !/^\d{8}$/.test(targetUserId)) {
    return ContentService.createTextOutput(JSON.stringify({error: "请传入有效的8位用户ID参数"})).setMimeType(ContentService.MimeType.JSON);
  }

  var output = [];

  for(var i = 1; i < values.length; i++) {
    const currentUserId = values[i][0];
    // 匹配目标ID
    if(currentUserId == targetUserId) {
      var row = {};
      row['User'] = currentUserId;
      row['Name'] = values[i][1];
      row['Email'] = values[i][2];
      row['Phone'] = values[i][3];
      row['Notes'] = values[i][4];
      
      output.push(row);
    }
  }

  return ContentService.createTextOutput(JSON.stringify({data: output})).setMimeType(ContentService.MimeType.JSON); 
}

核心改动:

  • 通过req.parameter.id获取URL查询参数中的目标ID
  • 新增参数校验,避免无效请求
  • 仅保留与目标ID完全匹配的行

内容的提问来源于stack exchange,提问作者So lost rn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 06:22:45