본문 바로가기
개발/JavaScript

자바스크립트 - 배열에 포함된 원소 판단하기

by 피로물든딸기 2023. 6. 25.
반응형

자바스크립트 전체 링크

 

문자열에서 특정 문자열을 포함하는지는 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;
반응형

댓글