arrays - 比较两个数组以在 Google 应用程序脚本上找到相等值的最快方法

标签 arrays google-apps-script

我有两个 arrays如下。

bulkSheet[] - Original array
resultsArray[] -  Checking array

我正在比较 ' bulkSheet 的第一个元素' 数组与 ' resultArray '。下面的代码是我到目前为止所做的。它执行得很好但需要很长时间并给出 Exceeded maximum execution time错误。
for(var line in bulkSheet) {
  for (var line2 in resultsArray)
  {
    if(bulkSheet[line][0] == resultsArray[line2][0])
    {
      // matched items
    }
  }
}

有什么最快的方法吗?

最佳答案

谢谢@sandy-good!,
如果是一维数组,我们可以使用 indexOf() 方法。

for(var line in firstArray) 
{
 var isMatched = secondArray.indexOf(firstArray[line]); 
 if (isMatched !== -1) 
 {
   var matchedValFromArray2 = secondArray[isMatched]
 };
}

如果要比较二维数组(或电子表格的两行),可以使用 .join()方法。
for(var i in firstArray)
{
  var duplicate = false;
  for(var j in secondArray)
  {
    if(firstArray[i].join() == secondArray[j].join())
    {
      var matchedValFromArray2 = firstArray[i];
      break;
    }
   }
 } 

关于arrays - 比较两个数组以在 Google 应用程序脚本上找到相等值的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34587100/

相关文章:

javascript - 访问数组中属性值的属性值

javascript - 如何在显示为对话框的 HTML 文件中包含全局样式/javascript?

javascript - Google 云端硬盘应用程序 : How can i get my HTML file to read a varitable defined in code. gs?

javascript - 谷歌应用程序脚本类型错误: Cannot call method "substring" of undefined

javascript - 对字母数字数组进行排序

java - 如何在 Java 中将字节数组转换为字符串?

javascript - 在javascript中将数据添加到对象数组

php - 数组的 json_decode 在 HTML 输出中无法正确呈现

javascript - 将数组转换为JavaScript中的对象

javascript - getRange/setValues 并不总是有效