From 64dab76a6a2825c16495ac7cd8fe2c5a00890dd8 Mon Sep 17 00:00:00 2001 From: yoosangwook Date: Tue, 2 Jul 2024 14:34:09 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=B0=EC=97=B4=20=EC=9E=AC=EB=B0=B0?= =?UTF-8?q?=EC=B9=98=20=ED=95=A8=EC=88=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/util/canvas-util.js | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/app/util/canvas-util.js b/src/app/util/canvas-util.js index 2a329e8e..cd32d081 100644 --- a/src/app/util/canvas-util.js +++ b/src/app/util/canvas-util.js @@ -154,3 +154,26 @@ export const getStartIndex = (lines) => { return smallestIndex } + +/** + * 이 함수는 두 개의 매개변수를 받습니다: array와 index. + * array는 재배열할 대상 배열입니다. + * index는 재배열의 기준이 될 배열 내의 위치입니다. + * 함수는 먼저 index 위치부터 배열의 마지막 요소까지를 추출합니다(fromIndexToEnd). + * 그 다음, 배열의 처음부터 index 위치까지의 요소를 추출합니다(fromStartToIndex). + * 마지막으로, fromIndexToEnd와 fromStartToIndex 두 부분을 concat 메소드를 이용해 합칩니다. + * 따라서, 이 함수는 주어진 index를 기준으로 배열을 두 부분으로 나누고, index부터 시작하는 부분을 앞에 두고, 그 뒤에 index 이전의 부분을 이어붙여 새로운 배열을 생성합니다. 이는 배열의 회전(rotating) 연산을 수행하는 것과 유사합니다. + * @param array 재배열할 대상 배열 + * @param index 재배열 기준이 될 배열 내의 인덱스 + * @returns {*} 새로 재배열된 배열 + */ +export const rearrangeArray = (array, index) => { + // 배열의 특정 인덱스부터 마지막 요소까지를 가져옵니다. + const fromIndexToEnd = array.slice(index) + + // 배열의 처음부터 특정 인덱스까지의 요소를 가져옵니다. + const fromStartToIndex = array.slice(0, index) + + // 두 부분을 concat 메소드를 이용해 합칩니다. + return fromIndexToEnd.concat(fromStartToIndex) +}