• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

max_by와 min_by에 대한 질문입니다.

18.12.04 19:32 작성 조회수 250

0

안녕하세요 너무 즐겁게 강의를 듣고 있는 학생입니다.

만약에 데이터가 [20, -20]으로 들어가게 된다면

_max_by를 사용해도 -20이 출력되던데 왜 20이 아닌 -20이 출력이 되는지 궁금합니다.

아니면 _min_by나 _max_by를 사용하기 위해서는 데이터의 절대값이 중복되는지를 먼저 검사해야 하는건가요..?

답변 3

·

답변을 작성해보세요.

0

조성빈님의 프로필

조성빈

2020.08.14

배열을 모두 검사해서 맨 값이 같다면 맨 뒤에있는 값이 출력되는거같네요 ㅎㅎ 2년전이지만 저도 궁금해서 찾아보다가 알아냈습니다 ㅋㅋ

0

임다혜님의 프로필

임다혜

질문자

2018.12.07

절대값을 사용했기 때문에 20이 나온다는것은 이해했습니다.

강의를 보며 다른 배열을 넣어봤는데 그때에 20과 -20을 넣어서 확인해 봤습니다 그떄에 결과가 -20이 출력되더라구요..

순서가 양수보다 음수를 먼저 찾아서 출력한다던지 하는 규칙이 있는건가요..?

다시한번 알려주시면 감사하겠습니다 ㅜㅜ

김준원님의 프로필

김준원

2022.07.29

오래 되었지만.. 대신 답변 드려봅니다.

[20, -20] 입력시 결과가 -20인 이유는 삼항 조건 연산에서 성립하지 않아 b에 해당하는 -20이 리턴된 결과로 해석됩니다.

0

아마 강의에 사용된 예제에서 아래와 같이 보조 함수로 Math.abs를 넘겼기 때문일겁니다. 감사합니다.

console.log(_max_by([1, 2, 4, 10, 5, -4, -11], Math.abs));