【问题标题】:Return lengths of strings in Google Apps Script返回 Google Apps 脚本中的字符串长度
【发布时间】:2020-01-11 01:26:51
【问题描述】:

我正在尝试返回 Google 表格中某个范围内的字符串长度。

这是测试单元:

我有一个自定义函数应该返回每个字符串的长度:

function returnLength(array) {
  var returnList = [];
  array.forEach(function(a) {
    returnList.push(a.length);
  });
  return returnList;
}

当我在 B1 中使用这个函数时,它会返回 1 作为其中任何一个的长度:

让我失望的是,如果我在推送到 resultArray 时省略了“.length”,它会返回正确的字符串...

function returnLength(array) {
  var returnList = [];
  array.forEach(function(a) {
    returnList.push(a);
  });
  return returnList;
}

我知道我可以使用 LEN() 来处理这个例子,但这只是一个非常大的项目中的一小部分,我需要能够获得代码中的长度。

【问题讨论】:

  • 有点奇怪,单独推动“a”只会添加元素本身不,它仍然推动一维数组。返回的二维数组将被渲染,如您的图片所示。

标签: google-apps-script google-sheets google-sheets-formula


【解决方案1】:

我认为您的问题的原因是array 是像[["This"],["Is"],["A"],["Test"],["Hello"],["World"]] 这样的二维数组。在returnList.push(a.length); 的情况下,返回作为二维数组元素的数组长度。这样,所有值都是1。那么这个修改怎么样呢?

发件人:

returnList.push(a.length);

收件人:

returnList.push(a[0].length);

【讨论】:

  • 做到了!谢谢。我没有意识到这将是一个二维数组,因为它只是一列。单独按“a”只会添加元素本身,这有点奇怪。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多