自定义Google表格功能可将项目添加到以逗号分隔的列表中

时间:2019-05-03 08:45:59

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

我在Google表格中使用逗号分隔列表,例如“ apple,banana”。我需要一个函数将元素添加到此列表中,例如=SETADD("apple,banana","carrot"),它应返回值“ apple,banana,carrot”。

function SETADD(list, item) {
  var array = list.split(',');
  if (!array.includes(item)) {
    return list + ',' + item;
  }
  else {
    return list;
  }
}

此函数返回错误TypeError: Cannot find function includes in object apple,banana. (line 3).,好像该函数的第一个参数不是字符串?我在做什么错了?

2 个答案:

答案 0 :(得分:2)

很遗憾,在当前阶段,Array.includes()不能在Google Apps脚本中使用。因此,作为一种变通办法,如何进行此修改?

发件人:

if (!array.includes(item)) {

收件人:

if (array.indexOf(item) === -1) {

参考文献:

答案 1 :(得分:1)

您的问题是您正在不支持include的解释器中运行代码。尝试使用es5代码或切换到支持包含的节点版本(根据node.green v6.4 +版本)。

我建议更改您的代码:

function SETADD(list, item) {
  var array = list.split(',');
  if (list.indexOf(','+item+',') > -1 || list.startsWith(item+',') || list.endsWith(','+item)) {
    return list;
  }
  else {
    return list + ',' + item;
  }
}