>웹 프론트엔드 >프런트엔드 Q&A >자바스크립트에서 배열이 대칭인지 확인하는 방법

자바스크립트에서 배열이 대칭인지 확인하는 방법

PHPz
PHPz원래의
2023-04-24 15:51:02974검색

JavaScript에서 배열이 대칭인지 확인하는 것은 일반적인 문제입니다. 대칭 배열이란 배열의 중심축에서 시작하여 양쪽 끝으로 확장하여 해당 위치의 요소가 동일한 것을 알 수 있음을 의미합니다.

그럼 배열이 대칭인지 확인하는 방법은 무엇일까요? 다음은 두 가지 일반적인 방법입니다.

방법 1: 루프 사용

먼저 배열 길이의 절반인 배열의 중심 위치를 찾습니다. 다음으로 루프를 사용하여 배열의 시작 위치부터 중앙 위치까지 해당 위치의 요소가 동일한지 비교합니다. 동일하지 않은 요소가 있으면 false를 반환하고, 그렇지 않으면 true를 반환할 수 있습니다.

다음은 샘플 코드입니다.

function isSymmetric(arr) {
  const len = arr.length;
  for (let i = 0; i < len / 2; i++) {
    if (arr[i] !== arr[len - 1 - i]) {
      return false;
    }
  }
  return true;
}

이 방법의 시간 복잡도는 O(n/2)입니다. 이는 배열의 절반만 통과하면 되므로 O(n)입니다.

이 방법을 사용할 때 배열 길이가 홀수인 경우 중앙 위치의 요소는 대칭이어야 하기 때문에 비교할 필요가 없다는 점에 유의하세요.

방법 2: 역방향 메서드 사용

JavaScript의 배열 객체에는 배열을 역방향으로 바꿀 수 있는 reverse 메서드가 있습니다. 배열이 대칭인 경우 반전된 결과는 원래 배열과 동일해야 합니다.

다음은 샘플 코드입니다.

function isSymmetric(arr) {
  return arr.join('') === arr.reverse().join('');
}

이 메서드의 시간 복잡도는 O(n)입니다. 왜냐하면 Join 메서드와 Reverse 메서드만 두 번 호출하면 되기 때문입니다.

이 방법을 사용할 경우 반대 방법을 사용하면 원래 배열이 수정되므로 원래 배열이 변경된다는 점에 유의하세요. 원본 배열을 수정하고 싶지 않은 경우에는 슬라이스 메서드를 사용하여 복사본을 만들고 되돌릴 수 있습니다.

어떤 방법을 사용하든 배열이 대칭인지 확인하는 것은 간단한 질문이지만 JavaScript 배열에 대한 이해를 심화하는 데 도움이 될 수 있습니다. 배열에 대해 다양한 작업을 수행해야 할 때 배열 내부 요소의 대칭성을 명확하게 이해하면 프로그래밍 효율성을 향상시킬 수 있습니다.

위 내용은 자바스크립트에서 배열이 대칭인지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.