如何将字母数字元素与数组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)
ofvar 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);