我在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).
,好像该函数的第一个参数不是字符串?我在做什么错了?
答案 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;
}
}