반응형
문자열에서 특정 문자열을 포함하는지는 indexOf로 판단할 수 있다.
let str = "hello";
console.log(str.indexOf("ll")); // 2
console.log(str.indexOf("xx")); // -1
문자열이 포함되지 않는 경우, indexOf가 -1을 리턴하기 때문에 조건문 판단에서 실수하기 쉽다.
아래의 코드는 "ll" 을 포함하면 if문을 실행하는 것 같지만, "ll"이 없더라도 -1을 리턴하기 때문에 코드가 실행된다.
if(str.indexOf("ll")) {...}
따라서 위와 같은 상황을 피하고 싶다면 includes를 사용하여 true / false를 반환하는 것이 좋다.
let str = "hello";
console.log(str.indexOf("ll")); // 2
console.log(str.indexOf("xx")); // -1
console.log(str.includes("ll")); // true;
console.log(str.includes("xx")); // false;
위와 같은 상황은 배열에서도 정확히 적용이 가능하다.
let arr = [3, 7, "hello", 5, "world"];
console.log(arr.indexOf("hello")); // 2
console.log(arr.indexOf("xx")); // -1
console.log(arr.includes("hello")); // true;
console.log(arr.includes("xx")); // false;
반응형
'개발 > JavaScript' 카테고리의 다른 글
자바스크립트 - 로컬 스토리지 사용 방법과 세션 스토리지 비교 (Local vs Session Storage) (0) | 2023.06.26 |
---|---|
자바스크립트 - 오브젝트 순회하기 (Iterate JavaScript Object) (0) | 2023.06.26 |
자바스크립트 - 배열 정렬하기 (Sorting) (0) | 2023.06.24 |
자바스크립트 - 펼침 연산자로 문자열을 배열로 바꿔 수정하기 (Change String using Spread Operator) (0) | 2023.06.22 |
자바스크립트 - 텍스트를 클립보드에 복사하기 (Copy to Clipboard in Javascript) (0) | 2023.06.19 |
댓글