채택완료

(txt.indexOf 질문입니다. ㅠㅠ

2020-11-25 (수) 23:43:04 2,064

안녕하세요

(txt.indexOf('사과') != -1)

여기서

사과 도토리 바나나

를 넣을려고 하는데요...

간단히 다중으로 넣는 방법이 없는지요?~~~ㅠㅠ

|

답변 2개

채택된 답변
+20 포인트

예시에서  (txt.indexOf('사과') != -1) 의 사과 자리에 도토리와 바나나도 넣고 싶다는 의미가 맞다면, 

Copy
let arr = ["사과", "도토리", "바나나"];

 

arr.forEach((e) => {

    if(txt.indexOf(e) != -1) {

        // 존재할 때            

    } else {

        // 존재하지 않을 때

    }

});

이런 구성도 가능할 듯 싶습니다.

search와 indexOf의 다른 점은 search에서는 정규식을 사용해 더 복잡한 검색이 가능하고, indexOf에서는 검색 위치를 지정할 수 있다는 점입니다. 단순 문자열에서는 크게 차이나지 않는 것으로 알고 있습니다.

무엇을 원하는지 정확하게 알 수는 없지만

아래를 참조해 보세요.

<script>
let txt = "도토리는 떡갈나무, 갈참나무, 상수리나무와 같은 참나무 종류의 열매이다";

let arr = ['사과', '도토리', '바나나'];

for (let i=0; i < arr.length; i++) {
    if (txt.search(arr[i]) >= 0) alert(arr[i]+" :성공")
    else alert(arr[i]+" :실패");
}

</script>

답변을 작성하려면 로그인이 필요합니다.