>웹 프론트엔드 >프런트엔드 Q&A >JavaScript 3차원 배열 합계

JavaScript 3차원 배열 합계

王林
王林원래의
2023-05-09 12:16:07893검색

JavaScript는 널리 사용되는 프로그래밍 언어이며 웹 개발에 널리 사용됩니다. 이 언어에서는 배열을 사용하여 대량의 데이터를 처리하는 것이 일반적인 기술이 되었습니다. 때로는 3차원 공간 좌표 처리와 같이 데이터를 처리하기 위해 3차원 배열을 사용해야 하는 경우도 있습니다. 이 기사에서는 JavaScript를 사용하여 3차원 배열에서 합계 연산을 수행하는 방법을 소개하고 독자가 JavaScript에서 배열을 사용하는 방법에 대해 자세히 배울 수 있도록 돕습니다.

먼저 3차원 배열이 무엇인지 살펴보겠습니다. 3차원 배열은 여러 개의 2차원 배열을 겹쳐서 구성됩니다. 각 배열에는 특정 수의 요소가 포함되며 이러한 요소는 3차원으로 배열됩니다. JavaScript에서는 다음 방법을 사용하여 3차원 배열을 정의할 수 있습니다.

let array3D = [
  [
    [1, 2],
    [3, 4]
  ],
  [
    [5, 6],
    [7, 8]
  ]
];

이 3차원 배열의 모든 요소에 대해 합계 연산을 수행할 수 있습니다.

먼저 요소를 순회할 수 있도록 이 3차원 배열을 1차원 배열로 변환해야 합니다. 중첩 루프를 사용하여 다단계 순회를 구현하고 3차원 배열의 모든 요소를 ​​1차원 배열에 추가할 수 있습니다.

let array3D = [
  [
    [1, 2],
    [3, 4]
  ],
  [
    [5, 6],
    [7, 8]
  ]
];

let array1D = [];

for (let i = 0; i < array3D.length; i++) {
  for (let j = 0; j < array3D[i].length; j++) {
    for (let k = 0; k < array3D[i][j].length; k++) {
      array1D.push(array3D[i][j][k]);
    }
  }
}

console.log(array1D); // [1, 2, 3, 4, 5, 6, 7, 8]

이제 3차원 배열을 1차원 배열로 변환했으므로 그 안의 요소를 합칠 수 있습니다. 우리는 3차원 배열의 모든 요소의 합을 얻기 위해 배열의 요소를 추가하기 위해 Reduce() 함수를 사용할 수 있습니다.

let array3D = [
  [
    [1, 2],
    [3, 4]
  ],
  [
    [5, 6],
    [7, 8]
  ]
];

let array1D = [];

for (let i = 0; i < array3D.length; i++) {
  for (let j = 0; j < array3D[i].length; j++) {
    for (let k = 0; k < array3D[i][j].length; k++) {
      array1D.push(array3D[i][j][k]);
    }
  }
}

let sum = array1D.reduce((a, b) => a + b);

console.log(sum); // 36

코드에서는 Reduce() 함수를 사용하여 array1D의 모든 요소를 ​​추가합니다. Reduce() 함수는 두 개의 매개변수를 받습니다. 하나는 배열의 요소에 대해 작동하는 데 사용되는 콜백 함수이고, 다른 하나는 배열의 첫 번째 요소 또는 0을 지정할 수 있는 초기 값입니다. 이 예에서는 배열의 모든 요소가 함께 추가되고 초기 값은 0으로 설정됩니다.

위는 JavaScript를 이용하여 3차원 배열을 합하는 방법입니다. 3차원 배열을 1차원 배열로 변환하고 Reduce() 함수를 사용하여 합산하면 3차원 배열의 모든 요소의 합을 구할 수 있습니다. 이 방법은 3차원 배열뿐만 아니라 모든 차원의 배열도 처리할 수 있어 대규모 데이터 처리에 큰 편의성을 제공합니다. 이 기사가 독자들이 JavaScript 언어의 배열 작업을 더 잘 익히는 데 도움이 되기를 바랍니다.

위 내용은 JavaScript 3차원 배열 합계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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