我想查看一個由B2,B3,B4,B5定義的名稱列表,直到B99,並與另一個集名稱(walkname)進行比較如果walkname在列表中,它被評估爲true,除瀏覽器彈出窗口外沒有任何事情發生。如果它被評估爲false,則新名稱將被添加到最後一行。下面的代碼有效,但我不想定義到B99。什麼是最快捷的方式來執行此操作並使用||與此同時?定義多個變量並與OR運算符進行比較
var B2 = sstracker.getRange('B2').getValue();
var B3 = sstracker.getRange('B3').getValue();
var B4 = sstracker.getRange('B4').getValue();
var B5 = sstracker.getRange('B5').getValue();
if (walkname == B2 || walkname == B3 || walkname == B4 || walkname == B5)
{Browser.msgBox(true)}
else {var row1 = sstracker.getRange(sstrackerLastRow + 1, 2, 1, 1).setValue(walkname).setBackground('Red');}
我半知道如何使用下面的代碼,並試圖用它來做與上面相同的事情。唯一的問題是,它一次評估一個,而不是查看所有實例並使用OR語句。基本上,新名稱總是被添加到列表中,除非它是第一個。我是一個NOOB,並意識到可能有一個真正簡單的答案,使下面的代碼執行上述代碼。我已經搜索論壇,但不知道甚至尋找什麼來獲得這方面的幫助。請幫助!當你回答時,儘量保持簡單。
for(var i = 0; i < teacherarray.length; i++){
var teachname = teacherarray[i];
if(teachname == walkname){break}
else {var row1 = sstracker.getRange(sstrackerLastRow + 1, 2, 1, 1).setValue(walkname).setBackground('Red');}
我結束了使用包含公式,但有約45分鐘的問題得到它的工作。我必須將===更改爲==才能使其工作。根據這裏的另一篇文章,當兩個字符串在相同位置具有相同的字符序列,相同的長度和相同的字符時嚴格相等時,===是正確的。我比較的名字是相同的,至少在非電腦術語中看起來完全相同。只要我改爲==它工作。你能解釋一下嗎? – HarrisCountyBOE
也許getValue()的返回類型或walkname的類型不是字符串?請參閱[這裏](http://stackoverflow.com/a/359509/2228771)兩個區別的例子。 – Domi