> 웹 프론트엔드 > 프런트엔드 Q&A > 자바스크립트 배열 전치

자바스크립트 배열 전치

PHPz
풀어 주다: 2023-05-22 09:00:37
원래의
1024명이 탐색했습니다.

JavaScript Array Transpose

JavaScript는 웹 개발에서 중요한 역할을 하는 널리 사용되는 프로그래밍 언어입니다. JavaScript에서 배열은 동일한 유형의 데이터 요소로 구성되고 동적으로 요소를 추가하거나 제거할 수 있는 매우 일반적인 데이터 구조입니다. 그러나 어떤 경우에는 배열을 바꾸어야 합니다. 즉, 원래 배열의 요소 순서를 유지하면서 배열의 행은 열이 되고 열은 행이 됩니다.

이 기사에서는 JavaScript에서 배열 전치 작업을 구현하는 방법과 몇 가지 일반적인 응용 프로그램 시나리오를 소개합니다.

  1. 방법 1: 중첩 루프 사용

배열 전치의 기본 아이디어는 먼저 새 배열을 만든 다음 원본 배열의 각 열 요소를 새 배열의 각 행에 추가하는 것입니다. 다음은 중첩 루프를 사용하여 배열 전치를 구현하는 코드 예제입니다.

function transpose(arr) {
  const rows = arr.length;
  const cols = arr[0].length;
  const result = new Array(cols);
  for (let j = 0; j < cols; j++) {
    result[j] = new Array(rows);
    for (let i = 0; i < rows; i++) {
      result[j][i] = arr[i][j];
    }
  }
  return result;
}
로그인 후 복사

이 함수의 매개 변수는 2차원 배열이고 반환 값도 2차원 배열입니다. 먼저 배열의 행과 열 수를 계산한 다음 새 배열을 만들고(행과 열을 교체한 상태로) 중첩 루프를 사용하여 원래 배열의 요소를 새 배열에 일시적으로 저장한 후 마지막으로 반환합니다.

  1. 방법 2: Map 및 Reduce 사용

배열 전치를 달성하는 또 다른 방법은 Map and Reduce 메서드를 사용하는 것입니다.

function transpose(arr) {
  return arr[0].map((col, i) => arr.map(row => row[i]));
}
로그인 후 복사

map() 메소드는 열당 원래 배열을 반복하고 새 배열을 반환합니다. 그런 다음, Reduce() 메서드를 사용하여 이러한 배열을 새로운 2차원 배열로 병합합니다.

  1. 응용 시나리오

배열 전치 연산은 특정 상황에서 매우 유용합니다. 다음은 몇 가지 일반적인 적용 시나리오입니다.

  • 데이터 시각화: 원시 데이터를 열 형식으로 변환하면 막대형 차트 및 기타 열 기반 차트를 쉽게 그릴 수 있습니다.
  • 행렬 연산: 행렬 연산에서 전치 연산은 일반적인 기술입니다. 선형 방정식 시스템을 풀고 고유값과 고유벡터를 계산하는 데 사용할 수 있습니다.
  • 데이터 저장: 대규모 2차원 테이블 데이터를 처리할 때 전치 연산을 통해 메모리 사용량을 줄이고 행렬 곱셈 연산의 효율성을 높일 수 있습니다.

결론

이 기사를 통해 JavaScript에서 배열 전치의 두 가지 구현 방법과 몇 가지 일반적인 응용 프로그램 시나리오를 배웠습니다. 이러한 기술은 웹 애플리케이션 작성 및 데이터 처리에 유용합니다. 따라서 배열 전치는 프로그래밍 기본이자 JavaScript 언어 및 기타 많은 고급 프로그래밍 언어의 매우 중요한 부분입니다.

위 내용은 자바스크립트 배열 전치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿