작성
·
345
0
안녕하세요 너무 즐겁게 강의를 듣고 있는 학생입니다.
만약에 데이터가 [20, -20]으로 들어가게 된다면
_max_by를 사용해도 -20이 출력되던데 왜 20이 아닌 -20이 출력이 되는지 궁금합니다.
아니면 _min_by나 _max_by를 사용하기 위해서는 데이터의 절대값이 중복되는지를 먼저 검사해야 하는건가요..?
답변 3
0
0
절대값을 사용했기 때문에 20이 나온다는것은 이해했습니다.
강의를 보며 다른 배열을 넣어봤는데 그때에 20과 -20을 넣어서 확인해 봤습니다 그떄에 결과가 -20이 출력되더라구요..
순서가 양수보다 음수를 먼저 찾아서 출력한다던지 하는 규칙이 있는건가요..?
다시한번 알려주시면 감사하겠습니다 ㅜㅜ
0
아마 강의에 사용된 예제에서 아래와 같이 보조 함수로 Math.abs를 넘겼기 때문일겁니다. 감사합니다.
console.log(_max_by([1, 2, 4, 10, 5, -4, -11], Math.abs));
오래 되었지만.. 대신 답변 드려봅니다.
[20, -20] 입력시 결과가 -20인 이유는 삼항 조건 연산에서 성립하지 않아 b에 해당하는 -20이 리턴된 결과로 해석됩니다.