1

아주 간단한 Google 스프레드 시트 스크립트를 작성 중이며 문자열을 비교해야합니다. 어떤 이유에서, 셀 내용에 toString()을 호출 할 때 "TypeError : 함수가 객체 Semester Long Clinics (라인 6)에 포함되어 있지 않습니다"라는 오류가 발생합니다.이 경우 "Semester Long Clinics "는 셀의 실제 내용입니다. 여기 코드는 다음과 같습니다Google 스프레드 시트 스크립트 : toString()이 문자열을 반환하지 않습니까?

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 
} 

내가 생각할 수있는 유일한 설명은 입력 배열은 표준 toString() 메소드에 저항 객체의 어떤 종류의 인스턴스를 포함한다는 것입니다,하지만 난 모르겠어요 어떤이의 장점 . 어떤 도움을 많이 주시면 감사하겠습니다! 내가 오류를 생각하지 않는다

답변

2

오히려이 기능으로의 toString 기능 때문이다

toCheck.includes(clinicName) 

당신의 오류 라인 6이며 함수가 객체/문자열 "학기에 포함 찾을 수 없다고 때문에 긴 클리닉 (Long Clinics) "이 해당 배열/셀의 내용입니다.

대신

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

그냥 함수가 "포함"고 애플리케이션 스크립트를 지원하지 않습니다 수 있습니다 이것을 시도 할 수 있습니다.

+0

감사합니다. – MikeyS

관련 문제