let arr = [1, 2, [3, 4, [5, 6], 7, 8], 9, 10];
function convertOneArray(arr) {
let newArr = [];
function recursion(arr) {
for(let i = 0; i < arr.length; i++) {
// 값이 배열이면 recursion 함수를 다시 호출한다.
if(Array.isArray(arr[i])) {
recursion(arr[i]);
// 값이 일반적인 숫자면 newArr 배열에 추가한다.
} else {
newArr.push(arr[i]);
}
}
}
recursion(arr);
return newArr;
}
console.log(getOneArray(arr)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
// 재귀 함수는 너무 헷갈린다.
// 많이 접해봐서 이런 때 이렇게 쓴다는 패턴을 기억해야 할 것 같다.
'자바스크립트 > 재귀함수' 카테고리의 다른 글
자바스크립트 재귀함수 예제 - 배열에 숫자만 남기기 (0) | 2020.02.21 |
---|---|
자바스크립트 재귀함수 예제 - 배열의 값 모두 더하기 (0) | 2020.02.21 |