Estoy usando Apps Script con Hojas de cálculo de Google. He escrito un código para obtener el valor en una celda y guardarlo en una variable. Luego creé una matriz con todas esas variables. Quiero poder mirar a través de la matriz y buscar la palabra "falla" y devolver verdadero si está presente o falso si no está presente. Solo tiene que coincidir una vez en la matriz para que sea verdadero.
Esto es lo que tengo hasta ahora:
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var activeSheet = ss.getActiveSheet(); for(var i = 20;i<=120,i++){ var main = activeSheet.getRange(i, 8).getValue(); var state = activeSheet.getRange(i, 9).getValue(); var scroll = activeSheet.getRange(i, 10).getValue();; var log = activeSheet.getRange(i, 11).getValue(); const testArray = [main, state, scroll, log]; //need some code here to look for the string "fail" in the array and if it is there, return true, otherwise return false. } }Pruebe este código en su lugar. Hice su testArray como una matriz vacía, luego inserte cada uno de los valores de las celdas dentro de la matriz. A continuación, puede utilizar la función .includes
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var activeSheet = ss.getActiveSheet(); for(var i = 20;i<=120;i++){ var testArray = [] var main = activeSheet.getRange(i, 8).getValue(); var state = activeSheet.getRange(i, 9).getValue(); var scroll = activeSheet.getRange(i, 10).getValue(); var log = activeSheet.getRange(i, 11).getValue(); //insert each value to array testArray.push(main,state,scroll,log); //check if word fail is in array var checkWord = testArray.includes("fail"); console.log(checkWord); } }O si desea que solo se verifique una vez, puede colocar la matriz y la sintaxis vacías para verificar la palabra fuera del bucle for. Vea el código a continuación:
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var activeSheet = ss.getActiveSheet(); var testArray = [] for(var i = 20;i<=120;i++){ var main = activeSheet.getRange(i, 8).getValue(); var state = activeSheet.getRange(i, 9).getValue(); var scroll = activeSheet.getRange(i, 10).getValue(); var log = activeSheet.getRange(i, 11).getValue(); //insert each value to array testArray.push(main,state,scroll,log); //check if word fail is in array } var checkWord = testArray.includes("fail"); console.log(checkWord); }¡Hazme saber si esto funciona!
Referencia: https://www.digitalocean.com/community/tutorials/js-array-search-methods
He aquí una sugerencia simple:
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var activeSheet = ss.getActiveSheet(); var rng = activeSheet.getRange(20,9,20,4); var data = rng.getValues(); var confirmation = false for(var i = 0; i<=data.length, i++){ var rowData = data[i]; if(rowData.indexOf("fail")>-1){ confirmation = true; } } }