자바스크립트에서 배열은 여러 개의 값을 저장하고 관리하는 데 사용됩니다. 배열에는 다양한 값들이 포함될 수 있으며, 이 값들을 특정 기준에 따라 추출하거나 정렬할 수 있습니다. 이번 블로그 포스트에서는 자바스크립트 배열의 요소를 특정 기준으로 추출하고 정렬하는 방법에 대해 알아보겠습니다.
배열에서 특정 기준에 맞는 항목 추출하기
자바스크립트 배열에서 특정 기준에 맞는 항목을 추출하기 위해서는 filter()
메서드를 사용할 수 있습니다. filter()
메서드는 배열의 각 요소에 대해 주어진 조건 함수를 실행하여 조건을 만족하는 요소들로 이루어진 새로운 배열을 반환합니다.
다음은 숫자로 이루어진 배열에서 짝수를 추출하는 예시 코드입니다:
const numbers = [1, 2, 3, 4, 5, 6];
const evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // [2, 4, 6]
위 코드에서 filter()
메서드에 전달한 조건 함수 number => number % 2 === 0
는 배열의 각 요소가 2로 나누어 떨어지는 짝수인지 확인합니다. filter()
메서드는 조건을 만족하는 요소인 2, 4, 6만을 추출하여 새로운 배열 evenNumbers
에 할당합니다.
배열 요소 정렬하기
자바스크립트 배열의 요소를 정렬하기 위해서는 sort()
메서드를 사용할 수 있습니다. sort()
메서드는 배열의 요소를 기본적으로 유니코드 코드 포인트 순서로 정렬합니다. 그러나 숫자를 비롯한 다른 유형의 데이터를 올바르게 정렬하려면 정렬 기준을 제공해야 합니다.
다음은 문자열로 이루어진 배열을 알파벳순으로 정렬하는 예시 코드입니다:
const names = ['John', 'Adam', 'Eve', 'Catherine'];
names.sort();
console.log(names); // ['Adam', 'Catherine', 'Eve', 'John']
위 코드에서 sort()
메서드를 호출하여 배열 names
의 요소들을 알파벳순으로 정렬합니다. 결과적으로 배열 names
의 순서는 [‘Adam’, ‘Catherine’, ‘Eve’, ‘John’]로 변경됩니다.
배열을 특정 기준에 맞게 정렬하기
특정 기준에 맞게 배열을 정렬해야 할 때는 sort()
메서드를 활용하여 정렬 기준을 제공해야 합니다. sort()
메서드에 정렬 기준을 비교하는 함수를 전달하여 원하는 방식으로 배열을 정렬할 수 있습니다.
다음은 객체로 이루어진 배열을 나이 순으로 정렬하는 예시 코드입니다:
const people = [
{ name: 'John', age: 30 },
{ name: 'Adam', age: 25 },
{ name: 'Eve', age: 35 },
{ name: 'Catherine', age: 28 }
];
people.sort((personA, personB) => personA.age - personB.age);
console.log(people);
위 코드에서 sort()
메서드의 비교 함수 (personA, personB) => personA.age - personB.age
는 age
속성을 기준으로 객체를 비교하여 정렬합니다. 결과적으로 people
배열의 요소들은 나이 순으로 정렬됩니다.
위 예시 코드에서는 age
속성을 기준으로 오름차순으로 정렬했지만, 만약 내림차순으로 정렬하려면 personB.age - personA.age
와 같이 비교 함수를 작성하면 됩니다.
이제 여러분은 자바스크립트 배열에서 특정 기준에 맞는 항목을 추출하고 정렬하는 방법에 대해 알게 되었습니다. 이러한 기능들은 배열을 다양한 방식으로 조작하고 활용하는 데에 유용하게 사용될 수 있습니다.