[javascript] 자바스크립트 배열 정렬을 사용한 검색 기능 구현하기
자바스크립트에서 배열을 정렬하여 검색 기능을 구현하는 것은 매우 효과적인 방법입니다. 배열을 정렬하면 이진 검색 알고리즘을 활용하여 검색 속도를 빠르게 만들 수 있습니다. 아래에서는 이와 관련된 코드 예제와 설명을 제공하겠습니다.
배열 정렬 및 검색 코드 예제
// 정렬된 배열 생성
const items = [2, 5, 8, 12, 16, 23, 38, 56, 72, 91];
// 이진 검색 함수 정의
function binarySearch(array, target) {
let left = 0;
let right = array.length - 1;
while (left <= right) {
const mid = Math.floor((left + right) / 2);
const midVal = array[mid];
if (midVal === target) {
return mid;
} else if (midVal < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
// 검색 실행
const targetIndex = binarySearch(items, 23);
console.log(targetIndex); // 출력: 5
위의 코드 예제에서, binarySearch
함수는 이진 검색을 사용하여 정렬된 배열에서 특정 요소를 검색합니다. 이를 통해 검색 속도를 획기적으로 개선할 수 있습니다.
결론
정렬된 배열을 사용하여 이진 검색 알고리즘을 구현하는 것은 자바스크립트에서 검색 기능을 개발할 때 매우 유용한 기술입니다. 이를 통해 대용량의 데이터에서도 빠르고 효율적인 검색을 수행할 수 있습니다.
참고문헌:
- MDN 웹 문서: Array.prototype.sort()
- MDN 웹 문서: Array.prototype.findIndex()
- MDN 웹 문서: Array.prototype.includes()