javascript - GSA 错误 : Cannot find function includes in object

标签 javascript google-apps-script

我有 2 个数组,我想在第一个数组中找到第二个数组的值是第一个数组的推送数据,但我不能。

错误消息:“TypeError:找不到包含在对象中的函数...”

这是我的代码:

function loadArrInArr(){

  var firstArr = ["aaa", "bbb", "ccc"];
  var ss = SpreadsheetApp.openByUrl(urldb);
  var ws = ss.getSheetByName("sheet1");
  var secondArr = ws.getDataRange().getDisplayValues();
  var tmpArr = [];

  for(var i = 0; i < secondArr.length; i++){
    if(firstArr.includes(secondArr[i][0])){ //err this line
      tmpArr.push(secondArr[i]);
    }
  }

}

最佳答案

很遗憾,在当前阶段,includes() 还不能与 Google Apps Script 一起使用。那么这个修改怎么样呢?在这个修改中,使用indexOf代替includes

模式一:

当你的脚本被修改时,这个修改怎么样?

来自:

if(firstArr.includes(secondArr[i][0])){

收件人:

if(firstArr.indexOf(secondArr[i][0]) > -1){

if(~firstArr.indexOf(secondArr[i][0])){

模式二:

作为另一种模式,这个修改怎么样?

来自:

var tmpArr = [];

for(var i = 0; i < secondArr.length; i++){
  if(firstArr.includes(secondArr[i][0])){ //err this line
    tmpArr.push(secondArr[i]);
  }
}

收件人:

var tmpArr = secondArr.filter(function(row) {return ~firstArr.indexOf(row[0])});
  • secondArr的长度较大时,使用filter()可以比for循环减少处理成本。

引用资料:

如果我误解了您的问题并且这不是您想要的结果,我深表歉意。

关于javascript - GSA 错误 : Cannot find function includes in object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57505337/

相关文章:

javascript - ActionscriptExternalInterface调用未到达javascript

javascript - 同一页面上具有相同选项的多个传单 map

javascript - 在 Chrome 上上传之前显示 pdf 的预览

javascript - 在 Google 电子表格中保持数据私密性,同时提供带有应用脚本的编辑对话框

javascript - 电子邮件中的字符串到 html 元素

javascript - Google 应用程序脚本中的 __proto__?

google-apps-script - Google Apps 脚本 - 表格 - 条件格式 - X = 突出显示

javascript - 如何使用 JavaScript .innerHTML 将信息从 HTML &lt;input&gt; 元素发送到 <span>?

javascript - 如何在 Jest 测试中导入 JSON 文件?

google-apps-script - 根据值更改编辑单元格背景颜色