[JS] 배열을 n 개씩 나누어 자르기

nemo·2022년 1월 31일
0

JavaScript

목록 보기
8/23

방법 1) 함수

배열을 나누는 함수를 하나 생성하여 사용한다.

const division = (배열, n개씩) => {
  const length = 배열.length;
  const divide = Math.floor(length / n개씩) + (Math.floor( length % n개씩 ) > 0 ? 1 : 0);
  const newArray = [];

  for (let i = 0; i <= divide; i++) {
    // 배열 0부터 n개씩 잘라 새 배열에 넣기
    newArray.push(배열.splice(0, n개씩)); 
  }

  return newArray;
}
const arr = [0, 1, 2, 3, 4, 5, 6, 7];
const result = division(arr, 3);
// [[0, 1, 2], [3, 4, 5], [6, 7]]


방법 2) 프로토타입

Array.prototype.division = function( n개씩 ) {
  const 배열 = this;
  const length = 배열.length;
  const divide = Math.floor(length / n개씩) + (Math.floor( length % n ) > 0 ? 1 : 0);
  const newArray = [];

  for (let i = 0; i <= divide; i++) {
    // 배열 0부터 n개씩 잘라 새 배열에 넣기
    newArray.push(배열.splice(0, n개씩)); 
  }

  return newArray;
}
const arr = [0, 1, 2, 3, 4, 5, 6, 7];
const result = arr.division(3);
// [[0, 1, 2], [3, 4, 5], [6, 7]]

1개의 댓글

comment-user-thumbnail
2022년 9월 21일

(Math.floor( length % n ) > 0 ? 1 : 0); 여기 오타 있어요~ ㅋㅋ

답글 달기