알고리즘 문제 풀기/실수축제

프로그래머스: 매칭 점수 - 실수 축제 (중괄호랑 return)

Fo_rdang 2024. 8. 13. 14:05
반응형

아래와 같이 작성했을 때, idx를 찾지 못한 것을 발견했다. 

let urlIdx = pageArr.findIndex((p) => {
  p.match(/<meta property>/gi)
})

 

이유) 

- 화살표 함수가 중괄호로 감싸져 있기 때문 

- 중괄호를 사용하면 명시적으로 `return` 키워드를 사용하지 않는 한, 함수는 'undefined'를 반환한다. 

- 이 경우, p.match()이 부분의 결과가 반환되지 않으므로, findIndex는 항상 -1를 받고 -1를 반환한다.

 

let urlIdx = pageArr.findIndex((p) => {   
    return p.match(/<meta property/);
});

 

 

그래서 return 을 명시적으로 추가해줘야 한다. 

 

혹은 

 

중괄호를 쓰지 않는 방법이 있다. 

 

let urlIdx = pageArr.findIndex(p => 
    p.match(/<meta property/)
);
반응형