패스트캠퍼스

javaScript-재귀

용용it 2023. 6. 17. 22:36

재귀 함수는 함수 내부에서 자기 자신을 호출하는 함수이다.

const a = () => {
	console.log('A')
    a()
}

a()

이렇게 a함수가 무한 반복되기 때문에 문제가 된다.

 

let i = 0
const a = () => {
	console.log('A')
    i += 1 
    if (i < 4) {
    	a()
    }
}


a() 

// A
// A
// A
// A

그렇기 때문에 종료 조건을 걸어서 무한루프가 되지 않도록 해야한다.

 

const userA = { name: 'A', parent: null }
const userB = { name: 'B', parent: userA }
const userC = { name: 'C', parent: userB }
const userD = { name: 'D', parent: userC }

const getRootUser = user => {
	if (user.parent) {
    	return getRootUser(user.parent)
    }
	return user
}

console.log(getRootUser(userB))
console.log(getRootUser(userD))

// {name: 'A', parent: null}
// {name: 'A', parent: null}

'패스트캠퍼스' 카테고리의 다른 글

javaScript-가져오기와 내보내기(모듈)  (0) 2023.08.28
javaScript-JSON  (0) 2023.08.27
javaScript-콜백함수  (0) 2023.06.16
javaScript-함수(즉시실행함수IIFE)  (0) 2023.05.15
javaScript-함수(화살표 함수)  (0) 2023.05.15