자바스크립트 배열은 다양한 메소드를 제공합니다. 이번에는 indexOf, lastIndexOf, includes, reverse에 대해 설명하고 각 메소드의 기능과 사용법, 실제 사용 예시를 들어 어떻게 사용되는지 확인해보겠습니다.
1. indexOf 메소드
1.1. 기능과 사용법
indexOf 메소드는 배열에서 특정 값이 처음으로 나타나는 인덱스를 반환합니다. 값이 배열에 없으면 -1을 반환합니다.
array.indexOf(serchElement[, fromIndex]);
- serchElement: 찾을 값
- fromIndex (optional): 검색을 시작할 인덱스
1.2. 실제 사용 예제
const numbers = [1, 2, 3, 4, 2, 5];
console.log(numbers.indexOf(2)); // 1
console.log(numbers.indexOf(6)); // -1
console.log(numbers.indexOf(2, 2)); // 4
1.3. 주의사항
indexOf는 값이 일치하는 첫 번째 인덱스를 반환하므로, 배열 내의 중복된 값에 대해서는 첫 번재 발견한 인덱스만 반환합니다.
2. lastIndexOf 메소드
2.1. 기능과 사용법
lastIndexOf 메소드는 배열에서 특정 값이 마지막으로 나타나는 인덱스를 반환합니다.
array.lastIndexOf(searchElement[, fromIndex]);
- serchElement: 찾을 값
- fromIndex (optional): 검색을 시작할 인덱스 (거꾸로 검색)
2.2. 실제 사용 예제
const numbers = [1, 2, 3, 4, 2, 5];
console.log(numbers.lastIndexOf(2)); // 4
console.log(numbers.lastIndexOf(6)); // -1
console.log(numbers.lastIndexOf(2, 3)); // 1
2.3. 주의사항
lastIndexOf 는 배열의 끝에서부터 검색을 시작합니다. 그리고 배열 내 중복된 값에 대해서는 마지막으로 발견한 인덱스만 반환합니다.
3. includes 메소드
3.1. 기능과 사용법
array.includes(searchElement[, fromIndex]);
- serchElement: 찾을 값
- fromIndex (optional): 검색을 시작할 인덱스
3.2. 실제 사용 예제
const numbers = [1, 2, 3, 4, 2, 5];
console.log(numbers.includes(2)); // true
console.log(numbers.includes(6)); // false
console.log(numbers.includes(2, 2)); // true
3.3. 주의사항
includes 는 배열에 값이 있는지만 확인할 수 있으며, 해당 값의 인덱스를 알 수 없습니다. 인덱스가 필요한 경우 indexOf를 사용하세요.
4. reverse 메소드
4.1. 기능과 사용법
reverse 메소드는 배열의 순서를 뒤집습니다. 이 메소드는 원본 배열을 수정하며, 뒤집은 배열을 반환합니다.
array.reverse();
4.2. 실제 사용 예제
const numbers = [1, 2, 3, 4, 5];
console.log(numbers.reverse()); // [5, 4, 3, 2, 1]
4.3. 주의사항
- reverse 는 원본 배열을 수정하므로 원본 배열을 유지하고 싶다면 복사본을 만들어서 사용하세요.
5. 마무리
자바스크립트 배열의 indexOf, lastIndexOf, includes, reverse는 많이 사용하는 메소드입니다. 각 메소드의 기능과 사용법을 이해하고 실제 사용 예제와 주의사항을 숙지하여 사용하면 더욱 폭넓게 활용할 수 있을 것입니다. 또한, 배열 메소드를 이해하고 사용하기만 해도 배열 처리 작업에 대한 효율이 올라갈 수 있기 때문에 중요한 파트이기도 합니다.
'Programming > Javascript' 카테고리의 다른 글
[JS] JavaScript에서 팰린드롬(Palindrome 회문) 확인하기 (0) | 2023.07.10 |
---|---|
[JS] JavaScript의 Spread 연산자 깊게 이해하기 (0) | 2023.07.05 |
[JS] JavaScript에서 for...in문 이해하기 (0) | 2023.07.01 |