자바스크립트에서 배열은 데이터를 저장하고 관리하는 데 유용한 자료구조입니다. 배열에는 여러 가지 요소가 들어갈 수 있고, 이를 다양한 방법으로 검색하고 추출할 수 있습니다. 이번 글에서는 자바스크립트 배열에서 특정 기준으로 항목을 검색하고 추출하는 방법을 알아보겠습니다.
find 메서드를 이용한 요소 검색
자바스크립트 배열에는 find
메서드가 내장되어 있어, 특정 조건을 만족하는 첫 번째 요소를 검색할 수 있습니다. find
메서드는 콜백 함수를 인자로 받고, 이 콜백 함수는 배열의 각 요소를 순회하면서 실행됩니다. 콜백 함수에서 true
를 반환하는 첫 번째 요소가 find
메서드의 반환값이 됩니다.
const numbers = [1, 2, 3, 4, 5];
const evenNumber = numbers.find((number) => number % 2 === 0);
console.log(evenNumber); // 2
위 코드에서는 numbers
배열에서 첫 번째로 만나게 되는 짝수인 2
를 검색하여 반환합니다.
filter 메서드를 이용한 요소 추출
자바스크립트 배열에서는 filter
메서드를 사용하여 특정 조건을 만족하는 모든 요소를 추출할 수 있습니다. filter
메서드 역시 콜백 함수를 인자로 받으며, 콜백 함수에서 true
를 반환하는 요소들로 새로운 배열이 생성됩니다.
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter((number) => number % 2 === 0);
console.log(evenNumbers); // [2, 4]
위 코드에서는 numbers
배열에서 짝수인 모든 요소들을 추출하여 새로운 배열인 evenNumbers
에 저장합니다.
includes 메서드를 이용한 요소 포함 여부 검사
특정 요소가 배열에 포함되어 있는지 여부를 검사하려면 includes
메서드를 사용할 수 있습니다. includes
메서드는 인자로 받은 요소가 배열에 포함되어 있다면 true
를 반환하고, 그렇지 않다면 false
를 반환합니다.
const numbers = [1, 2, 3, 4, 5];
const includesThree = numbers.includes(3);
console.log(includesThree); // true
const includesTen = numbers.includes(10);
console.log(includesTen); // false
위 코드에서는 numbers
배열에 3
이 포함되어 있는지 여부와 10
이 포함되어 있는지 여부를 includes
메서드를 사용하여 확인합니다.
indexOf 메서드를 이용한 요소 인덱스 검색
특정 요소가 배열에서 몇 번째 인덱스에 위치하는지 확인하려면 indexOf
메서드를 사용할 수 있습니다. indexOf
메서드는 인자로 받은 요소가 배열에서 처음으로 등장하는 인덱스를 반환합니다. 해당 요소가 배열에 존재하지 않는다면 -1
을 반환합니다.
const fruits = ['apple', 'banana', 'orange', 'grape'];
const bananaIndex = fruits.indexOf('banana');
console.log(bananaIndex); // 1
const watermelonIndex = fruits.indexOf('watermelon');
console.log(watermelonIndex); // -1
위 코드에서는 fruits
배열에서 ‘banana’가 처음으로 등장하는 인덱스인 1
을 반환하고, ‘watermelon’은 배열에 존재하지 않으므로 -1
을 반환합니다.
요약
이번 글에서는 자바스크립트 배열에서 특정 기준으로 항목을 검색하고 추출하는 방법에 대해 알아보았습니다. find
메서드를 사용하여 조건을 만족하는 첫 번째 요소를 검색하고, filter
메서드를 사용하여 조건을 만족하는 모든 요소를 추출할 수 있습니다. 또한 includes
메서드를 사용하여 요소의 포함 여부를 검사하고, indexOf
메서드를 사용하여 요소의 인덱스를 검색할 수 있습니다.
배열을 다룰 때는 이러한 메서드들을 활용하여 편리하게 데이터를 검색하고 추출해보세요. Happy coding!