首页 > 解决方案 > 返回 Google Apps 脚本中的字符串长度

问题描述

我正在尝试返回 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() 来处理这个例子,但这只是一个非常大的项目中的一小部分,我需要能够在代码中获得长度。

标签: google-apps-scriptgoogle-sheetsgoogle-sheets-formula

解决方案


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

从:

returnList.push(a.length);

至:

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

推荐阅读