return 문

박찬욱·2023년 8월 22일
0

TIL

목록 보기
8/21
function solution(n_str) {
  if (!n_str.startsWith('0')) return n_str;
  else {
    let s = '';
    for (num of n_str) {
      if (num !== '0') {
        return (s = num);
      }
    }
    console.log('s', s);
    return n_str.slice(n_str.indexOf(s));
  }
}

console.log('result', solution('0010'));

else 문에서 s=num을 return하게 되면 else 블럭 내부는 그 시점에 종료되게된다. 따라서 밑에 s를 출력하는 코드와 slice 메서드를 실행하는 코드는 실행되지 않는다.

해당 코드를 slice 메서드가 있는 곳까지 실행시키기 위해서는 return으로 else 블럭을 종료하는 것이 아니라 break로 반복만 종료한 다음에 s의 값을 전달하면 된다.

function solution(n_str) {
  if (!n_str.startsWith('0')) return n_str;
  else {
    let s = '';
    for (num of n_str) {
      if (num !== '0') {
        s = num;
        break;
      }
    }
    return n_str.slice(n_str.indexOf(s));
  }
}
profile
대체불가능한 사람이다

0개의 댓글

관련 채용 정보