Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将字母数字元素与数组javascript匹配_Javascript_Google Apps Script - Fatal编程技术网

如何将字母数字元素与数组javascript匹配

如何将字母数字元素与数组javascript匹配,javascript,google-apps-script,Javascript,Google Apps Script,我有一个数组,我从谷歌电子表格中捕获它 arr=[abc@gmail.com, xyz@gmail.com, pqr123@gmail.com.....] 每隔一场比赛就得0分。但是,我有一个值是pqr123@gmail.com哪个是抛出结果-1。我意识到它是字母数字的,这可能是不匹配的原因。但是,如果数组元素是字母数字,那么它应该匹配。解决办法是什么 我使用以下代码进行匹配:- var arr = sheet2.getRange(4,1,sheet.getLastRow(),1).getV

我有一个数组,我从谷歌电子表格中捕获它

arr=[abc@gmail.com, xyz@gmail.com, pqr123@gmail.com.....]

每隔一场比赛就得0分。但是,我有一个值是
pqr123@gmail.com
哪个是抛出结果-1。我意识到它是字母数字的,这可能是不匹配的原因。但是,如果数组元素是字母数字,那么它应该匹配。解决办法是什么

我使用以下代码进行匹配:-

  var arr = sheet2.getRange(4,1,sheet.getLastRow(),1).getValues();

  var match = arr[0].indexOf(eRecord.email) //eRecord.email is 'pqr123@gmail.com'

  Logger.log(match) //current result -1

我认为问题可能出在arr[0]eRecord.email中。请仔细检查arr[0]是否确实是您需要的,并且eRecord.email包含电子邮件。

我认为问题可能出在arr[0]eRecord.email中。请仔细检查arr[0]是否确实是您需要的,并且eRecord.email包含电子邮件。

在脚本中,您使用
getRange(4,1,sheet.getLastRow(),1)
var arr=sheet2.getRange(4,1,sheet.getLastRow(),1.getValues()作为范围。在这种情况下,将从列中检索值。基于这种情况,我想提出以下修改

发件人: 致:
  • 通过这种修改,二维数组和具有一个元素的一维数组被展平,返回值是行索引
参考:

在脚本中,使用
getRange(4,1,sheet.getLastRow(),1)
of
var arr=sheet2.getRange(4,1,sheet.getLastRow(),1.getValues()作为范围。在这种情况下,将从列中检索值。基于这种情况,我想提出以下修改

发件人: 致:
  • 通过这种修改,二维数组和具有一个元素的一维数组被展平,返回值是行索引
参考:

这将始终有效:
[”abc@gmail.com", "xyz@gmail.com", "pqr123@gmail.com“].indexOf('pqr123@gmail.com)
并将返回2。还有一些东西正在登录
arr[0]
eRecord.email
并查看后者是否确实存在于
arr[0]
中。在您的例子中,从
getRange(4,1,sheet.getLastRow(),1)
,var match=arr.flat().indexOf(eRecord.email)
可能可以用于检索行索引。啊,您使用
.flat()
做了这项工作,这是正确的。@Tanaike我可以问您是否可以发布您的答案吗?因此社区可以投票支持您的解决方案这将始终有效:
[”abc@gmail.com", "xyz@gmail.com", "pqr123@gmail.com“].indexOf('pqr123@gmail.com)
并将返回2。还有一些东西正在登录
arr[0]
eRecord.email
并查看后者是否确实存在于
arr[0]
中。在您的例子中,从
getRange(4,1,sheet.getLastRow(),1)
,var match=arr.flat().indexOf(eRecord.email)
可能可以用于检索行索引。啊,您使用
.flat()
做了这项工作,这是正确的。@Tanaike我可以问您是否可以发布您的答案吗?所以社区可以投票支持你的解决方案
var match = arr[0].indexOf(eRecord.email)
var match = arr.flat().indexOf(eRecord.email);