inflearn logo
강의

Course

Instructor

Want to learn JavaScript properly?

Array built-in functions

왜 오름차순으로 정렬되는지 궁금합니다.

243

xoals6798572

16 asked

0

var point = [40, 100, 70, 21, 99];
      console.log(point.sort()); // 숫자인 경우 문자로 인식한다. 문자열로 인식하면 100이 먼저임 1이기때문에

point.sort(function(a,b){
return a-b
      });
 
안녕하세요 왜 리턴 a-b 했을때 순서대로 정렬되는지 메커니즘이 궁금합니다.
 
 
 

HTML/CSS javascript es6

Answer 1

1

realprogrammers

sort()에 인수로 함수 function(a, b){return a - b}를 전달 했습니다. 이 함수를 통해서 정렬이 되는 과정은 다음과 같습니다.

  1. points의 첫번째와 두번째 요소를 비교합니다. 40 - 100 = -60  이므로 음수입니다. 결과가 음수이므로 두 요소의 위치를 바꾸지 않습니다. [40, 100, 70, 21, 99]

  2. 두번째와 세번째 요소를 비교합니다. 100 - 70 = 30 이므로 양수입니다. 두 요소의 위치를 바꿉니다. [40, 70, 100, 21, 99]

  3. 세번째와 네번째 요소를 비교합니다. 100 - 21 = 79 이므로 양수입니다. 두 요소의 위치를 바꿉니다. [40, 70, 21, 100, 99]

  4. 네번째와 다섯번째 요소를 비교합니다. 100 - 99 = 1 이므로 양수입니다. 두 요소의 위치를 바꿉니다. [40, 70, 5, 21, 99, 100]

  5. 1번에서 4번 과정을 반복적으로 수행하면서 더 이상 요소간의 위치 변경이 없을 때 까지 진행합니다.

최종 적으로 [21, 40, 70, 99, 100] 결과를 얻게 됩니다.

외부 라이브러리 사용 질문

0

156

1

module 질문있습니다.

0

585

1

clearInterval, setInterval 질문

1

460

1

window 객체 질문 있습니다.

0

223

1

Date 함수 질문

0

290

1

Boolean 내장함수 강의 질문

0

322

1

4-04(마지막강의)에 있는 json으로 된 js파일은 어디에 있을까요?

0

412

1

Async Await 오류가 나서 문의드립니다.

0

565

2

선생님 안녕하세요. array내장함수 수업듣는중 이해가 안되는 부분이있어서 질문드립니다.

0

337

1

변수 관련 질문

0

287

1

Promis실습 도중의 에러메시지

0

450

2

moment.js cdn 외부 링크 오류

0

1468

1

64비트 부동소수점 내용 중

0

462

1

4-04 22분 15초에 나오는 61, 63 라인에 대해 질의드립니다.

0

253

1

64비트부동소수점 마지막부분 이해가 안가서요...

0

214

1

Chcekbox Element 값

0

228

1

parameter순서

0

468

1

parseInt parseFloat 질문

0

213

1

charAt 인덱스

0

219

0

STRING 결합

0

230

0

HTML를 위한 자바스립트 4-01.HTML Element.html

0

347

1

함수 강의에서 8:47초 부분 질문 있습니다.

0

224

1

정규식 관련해서 질문이 있습니다.

1

305

2

module강의의 예제 코드를 사용하면 에러가 생겨서 질문드립니다.

0

372

1