Google spreadsheet script: toString() not returning a string?

36,003

I don't think the error is due to the toString Function rather with this function

toCheck.includes(clinicName)

Since your error is on line 6 and it says cannot find the function includes in the object/string "Semester Long Clinics", which is the content of that array/cell.

You can try this instead

if( toCheck.indexOf(clinicName) != -1)

Just might be that the function "includes" is not supported by Apps script.

Share:
36,003
MikeyS
Author by

MikeyS

Updated on March 02, 2020

Comments

  • MikeyS
    MikeyS about 4 years

    I'm writing a very simple google spreadsheets script and need to compare strings. For some reason, when I call toString() on the content of a cell, I get a type error: "TypeError: Cannot find function includes in object Semester Long Clinics. (line 6)", where in this case "Semester Long Clinics" is the actual content of the cell. Here's the code:

    function getStudents(input, clinicName, columnNumber) { 
      var toPrint = []
      var i = 0; 
      for(i; i < 43; i++){
      var toCheck = input[i][columnNumber - 1].toString()
       if(toCheck.includes(clinicName)){
          toPrint.push(input[i][0].toString() + ", " + input[i][1].toString() +     ", " + input[i][2].toString())
         }
      }
      return toPrint
    }
    

    The only explanation I can think of is that the input array contains instances of some sort of object that resists the standard toString() method, but I'm not sure what the advantages of that would be. Any help is much appreciated!