함수 안에 return문 또 쓰기

박준혁·2024년 3월 18일

원본 코드

function solution(my_strings, parts) {
    let answer = "";
    for(let i = 0; i < my_strings.length; i++) {
        answer += my_strings[i].substring(parts[i][0],parts[i][1] + 1)
    }
    return answer 
}

이 for문 코드를 map함수로 바꿔보겠다

function solution(my_strings, parts) {
    return my_strings.map((str, i) => {
        return str.substring(parts[i][0], parts[i][1] + 1);
    }).join('');
}

=같음 function solution(my_strings,parts) {
    return my_strings.map((v,i) => my_strings[i].substring(parts[i][0],parts[i][1]+1)).join("")
}

여기서 생기는 의문 map함수 안에 return이 또 들어갔는데 왜 들어갔을까?

--> map()함수의 콜백 함수 내에서 return문을 사용하는 이유는 각 요소를 변환하여 새로운 배열을 생성하기 위함이다. 코드로 예시를 들어보겠습니다

const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map((num) => {
    return num * num;
});
console.log(squaredNumbers); // 출력: [1, 4, 9, 16, 25]
const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map((num) => num * num);
console.log(squaredNumbers); // 출력: [1, 4, 9, 16, 25]

🍀위의 두 코드는 같다. 다만 return이 생략된 것 하지만 한 줄일때만 return을 생략할 수 있다. 줄이 길 경우 중괄호 쓸것

profile
"열정"

0개의 댓글