Не могу получить результат выполнения цикла с условием внутри
Здравствуйте нужна помощь. Смотрите проблема такая. Мне нужно найти имя которое соответствует емейлу вошедшего. Я его нашел без проблем и получил в переменную "namemail" результат с помощью: (ФРАГМЕНТ СЦЕНАРИЯ)
var oklist1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Контроль");
var list2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Работники/данные/списки");
var range1 = oklist1.getRange(3,4,18,1).getValues();
var range2;
var date = new Date;
var email = Session.getActiveUser().getEmail();
var mlist2 = list2.getRange("D:D").getValues();
var demg = oklist1.getRange("D:D").getValues();
var maillist2;
for(var i=0;i<mlist2.length;i++){
if(mlist2[i].indexOf(email)!==-1){
maillist2=i+1;
var namemail = list2.getRange(maillist2,2).getValues();
}
}
Дальше по логике моего задания мне нужно проверить внесено ли это имя уже или еще нет?! но на другом листе и я пишу следующую часть сценария: (ФРАГМЕНТ СЦЕНАРИЯ)
var ressul;
for(var b=0;b<demg.length;b++){
if(demg[i]==namemail) {
ressul= b+1;
Logger.log(ressul);
}
}
И я не получаю никакого никакого результата в журнал, кроме " Примечание Выполнение начато. Примечание Выполнение завершено." А если вместо "namemail" пишу конкретное имя, ну типа:
for(var b=0;b<demg.length;b++){
if(demg[b]=="Дмитрий") {
ressul= b+1;
Logger.log(ressul);
}
}
То получаю результат. Помогите пожалуйста найти проблему, что это может быть? Мне нужно чтобы применялось именно "namemail".
Даю полный сценарий:
function timeDay() {
var oklist1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Контроль");
var list2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Работники/данные/списки");
var range1 = oklist1.getRange(3,4,18,1).getValues();
var range2;
var date = new Date;
var email = Session.getActiveUser().getEmail();
var mlist2 = list2.getRange("D:D").getValues();
var demg = oklist1.getRange("D:D").getValues();
var maillist2;
for(var i=0;i<mlist2.length;i++){
if(mlist2[i].indexOf(email)!==-1){
maillist2=i+1;
var namemail = list2.getRange(maillist2,2).getValues();
}
}
var ressul;
for(var b=0;b<demg.length;b++){
if(demg[i]==namemail) {
ressul= b+1;
Logger.log(ressul);
}
}
}
Ответы (1 шт):
проблема решена. нужно было вместо :
if(demg[i]==namemail) записать так: if(namemail==demg[i][0])